Я не уверен, будет ли хорошей идеей иметь слишком много логики в вашем методе initialize
- это означает меньшую гибкость при создании объекта. Например, я бы имел
class Calendar
def self.new_using_strings(on_string, off_string, date_string)
on = on_string.to_i # Or Integer(on_string)
off = off_string.to_i # Or Integer(off_string)
date = convert_to_date(date_string)
new(on, off, date)
end
def self.convert_to_date(date_string)
# Implementation goes here
end
def initialize(on, off, date)
@on, @off, @date = on, off, date
end
end
Таким образом, если я хочу создать calendar
объект, используя дату, а не строку даты, тогда я могу это сделать.
Однако я не видел, чтобы кто-то другой использовал такой подход.