Class: TableStructure::Schema::CompositeClass
- Inherits:
-
Object
- Object
- TableStructure::Schema::CompositeClass
- Defined in:
- lib/table_structure/schema/composite_class.rb
Instance Method Summary collapse
- #column_builders ⇒ Object
- #column_definitions ⇒ Object
- #compose(*classes) ⇒ Object
- #context_builders ⇒ Object
-
#initialize ⇒ CompositeClass
constructor
A new instance of CompositeClass.
- #row_builders ⇒ Object
Constructor Details
#initialize ⇒ CompositeClass
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_builders ⇒ Object
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_definitions ⇒ Object
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_builders ⇒ Object
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_builders ⇒ Object
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 |