Здесь у меня есть приложение для публикации новостей, над которым я работаю в ruby. Создание статьи работает нормально, но я не знаю, как ее найти. Мне бы хотелось, чтобы мой метод Article.get возвращал объект article, но, похоже, единственный способ сделать это - сделать все атрибуты Article доступными для записи, чего я на самом деле не хочу делать. Есть ли лучшие способы сделать это?
require 'date'
require 'ftools'
require 'find'
module News
class Article
attr_reader :topic, :body, :created, :directory, :file_name, :file, :author
attr_writer :topic, :body, :created, :directory, :file_name, :file, :author
def initialize(author, topic, body)
@topic = topic
@body = body
@author = author
@created = DateTime.now()
@directory = 'archive/' + @created.strftime('%Y/%m') + '/'
@file_name = @created.strftime('%H-%M-%S')
@file = @directory + @file_name
File.makedirs(@directory) unless File.directory?(@directory)
if !File.file?(@file)
@article = File.new(@file, 'w', 0777)
@article.print "#{@topic}\n#{@author}\n#{@body}"
@article.close()
end
end
def Article.get(path)
#???
end
end