Module: Noventius::Report::Dsl::Columns::InstanceMethods

Included in:
InstanceMethods
Defined in:
lib/noventius/report/dsl/columns.rb

Instance Method Summary collapse

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, options = {})
  validate_name_not_taken!(name)

  Column.new(name, type, options).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, options = {})
  validate_name_not_taken!(name)

  ColumnsGroup.new(name, children, options).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

#columnsObject



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_namesObject



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_groupsObject



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