Class: KtDataClass::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/kt_data_class/factory.rb

Instance Method Summary collapse

Constructor Details

#initialize(definition) ⇒ Factory

Returns a new instance of Factory.

Parameters:



6
7
8
# File 'lib/kt_data_class/factory.rb', line 6

def initialize(definition)
  @definition = definition
end

Instance Method Details

#create(&block) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/kt_data_class/factory.rb', line 10

def create(&block)
  member_definition = @definition
  Class.new(Base) do
    define_singleton_method(:definition) do
      member_definition
    end
    attr_reader(*member_definition.keys)

    unless block.nil?
      class_eval(&block)
    end
  end
end