50. クラスアノテーション导入による
リファクタリング
module CustomInitializers
def hash_initializer(*attribute_names)
define_method(:initialize) do |*args|
data = args.first || {}
attribute_names.each do |attribute_name|
instance_variable_set
"@#{attribute_name}", data[attribute_name]
end
end
endm
end
Class.send :include, CustomInitializers
class SearchCriteria...
hash_initializer :author_id, :publichsr_id, :isbn
end
51. クラスメソッド
class MyClass
def self.my_method;
:
end
end
def MyClass.my_other_method
:
end