Module: Noventius::Report::Dsl::Columns::InstanceMethods
- Included in:
- InstanceMethods
- Defined in:
- lib/noventius/report/dsl/columns.rb
Instance Method Summary collapse
- #column(name, type, options = {}) ⇒ Object
- #column_group(name, children, options = {}) ⇒ Object
- #column_index(name) ⇒ Object
- #columns ⇒ Object
- #columns_names ⇒ Object
- #columns_without_groups ⇒ Object
Instance Method Details
#column(name, type, options = {}) ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/noventius/report/dsl/columns.rb', line 78 def column(name, type, = {}) validate_name_not_taken!(name) Column.new(name, type, ).tap do |column| columns_names << column.name end end |
#column_group(name, children, options = {}) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/noventius/report/dsl/columns.rb', line 86 def column_group(name, children, = {}) validate_name_not_taken!(name) ColumnsGroup.new(name, children, ).tap do |columns_group| columns_names << columns_group.name end end |
#column_index(name) ⇒ Object
94 95 96 |
# File 'lib/noventius/report/dsl/columns.rb', line 94 def column_index(name) columns_without_groups.find_index { |column| column.name == name } end |
#columns ⇒ Object
58 59 60 61 62 63 64 |
# File 'lib/noventius/report/dsl/columns.rb', line 58 def columns return @columns if @columns build_columns @columns end |
#columns_names ⇒ Object
74 75 76 |
# File 'lib/noventius/report/dsl/columns.rb', line 74 def columns_names @columns_names ||= self.class.columns_names.dup end |
#columns_without_groups ⇒ Object
66 67 68 69 70 71 72 |
# File 'lib/noventius/report/dsl/columns.rb', line 66 def columns_without_groups return @columns_without_groups if @columns_without_groups build_columns @columns_without_groups end |