Module: DataClassFactory
- Defined in:
- lib/data_class_factory.rb,
lib/data_class_factory/version.rb
Overview
Defining a factory class. ‘Data = DataClassFactory.define_factory_class` will define a factory class like this.
class Data
# @param attribute_names [Array<Symbol>]
# @return [Class<Data>]
def self.define(*attribute_names, &block)
factory = DataClass::Factory.new(attribute_names)
factory.create(parent_class: self, &block)
end
...
end
Constant Summary collapse
- VERSION =
'0.1.0'
Class Method Summary collapse
Class Method Details
.backport? ⇒ Boolean
22 23 24 |
# File 'lib/data_class_factory.rb', line 22 def backport? Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.2.0') end |
.define_factory_class ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/data_class_factory.rb', line 26 def define_factory_class Class.new do define_singleton_method(:define) do |*attribute_names, &block| factory = DataClass::Factory.new(attribute_names) factory.create(parent_class: self, &block) end private_class_method :new include DataClass::InstanceMethods end end |