Class: TableStructure::Schema::CompositeClass

Inherits:
Object
  • Object
show all
Defined in:
lib/table_structure/schema/composite_class.rb

Instance Method Summary collapse

Constructor Details

#initializeCompositeClass

Returns a new instance of CompositeClass.



6
7
8
# File 'lib/table_structure/schema/composite_class.rb', line 6

def initialize
  @classes = []
end

Instance Method Details

#column_buildersObject



27
28
29
30
31
# File 'lib/table_structure/schema/composite_class.rb', line 27

def column_builders
  @classes
    .map(&:column_builders)
    .reduce({}, &:merge!)
end

#column_definitionsObject



15
16
17
18
19
# File 'lib/table_structure/schema/composite_class.rb', line 15

def column_definitions
  @classes
    .map(&:column_definitions)
    .flatten
end

#compose(*classes) ⇒ Object



10
11
12
13
# File 'lib/table_structure/schema/composite_class.rb', line 10

def compose(*classes)
  @classes.concat(classes.flatten.compact)
  self
end

#context_buildersObject



21
22
23
24
25
# File 'lib/table_structure/schema/composite_class.rb', line 21

def context_builders
  @classes
    .map(&:context_builders)
    .reduce({}, &:merge!)
end

#row_buildersObject



33
34
35
36
37
# File 'lib/table_structure/schema/composite_class.rb', line 33

def row_builders
  @classes
    .map(&:row_builders)
    .reduce({}, &:merge!)
end