Class: TableStructure::Schema::Table
- Inherits:
-
Object
- Object
- TableStructure::Schema::Table
- Defined in:
- lib/table_structure/schema/table.rb,
lib/table_structure/schema/table/key_decorator.rb,
lib/table_structure/schema/table/result_builder.rb,
lib/table_structure/schema/table/context_builder.rb,
lib/table_structure/schema/table/column_converter.rb
Defined Under Namespace
Classes: ColumnConverter, ContextBuilder, KeyDecorator, ResultBuilder
Instance Attribute Summary collapse
-
#header_column_converters ⇒ Object
readonly
Returns the value of attribute header_column_converters.
-
#result_builders ⇒ Object
readonly
Returns the value of attribute result_builders.
-
#row_column_converters ⇒ Object
readonly
Returns the value of attribute row_column_converters.
Instance Method Summary collapse
- #header(context: nil) ⇒ Object
-
#initialize(columns, header_context_builder, row_context_builder, header_column_converters, row_column_converters, result_builders, context, options) ⇒ Table
constructor
A new instance of Table.
- #row(context: nil) ⇒ Object
Constructor Details
#initialize(columns, header_context_builder, row_context_builder, header_column_converters, row_column_converters, result_builders, context, options) ⇒ Table
Returns a new instance of Table.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/table_structure/schema/table.rb', line 8 def initialize( columns, header_context_builder, row_context_builder, header_column_converters, row_column_converters, result_builders, context, ) @columns = columns @header_column_converters = header_column_converters @row_column_converters = row_column_converters @result_builders = result_builders @context = context = if header_context_builder || row_context_builder singleton_class.include ContextBuilder.new( [ { method: :header, callable: header_context_builder }, { method: :row, callable: row_context_builder } ] ) end if !header_column_converters.empty? || !row_column_converters.empty? singleton_class.include ColumnConverter.new( [ { method: :header, callables: header_column_converters }, { method: :row, callables: row_column_converters } ], context: context ) end unless result_builders.empty? singleton_class.include ResultBuilder.new( [ { method: :header, callables: result_builders }, { method: :row, callables: result_builders } ], keys: keys, context: context ) end end |
Instance Attribute Details
#header_column_converters ⇒ Object (readonly)
Returns the value of attribute header_column_converters.
6 7 8 |
# File 'lib/table_structure/schema/table.rb', line 6 def header_column_converters @header_column_converters end |
#result_builders ⇒ Object (readonly)
Returns the value of attribute result_builders.
6 7 8 |
# File 'lib/table_structure/schema/table.rb', line 6 def result_builders @result_builders end |
#row_column_converters ⇒ Object (readonly)
Returns the value of attribute row_column_converters.
6 7 8 |
# File 'lib/table_structure/schema/table.rb', line 6 def row_column_converters @row_column_converters end |
Instance Method Details
#header(context: nil) ⇒ Object
56 57 58 |
# File 'lib/table_structure/schema/table.rb', line 56 def header(context: nil) values(:name, context, @header_column_converters) end |
#row(context: nil) ⇒ Object
60 61 62 |
# File 'lib/table_structure/schema/table.rb', line 60 def row(context: nil) values(:value, context, @row_column_converters) end |