Class: ActiveList::Definition::AttributeColumn
- Inherits:
-
DataColumn
- Object
- AbstractColumn
- DataColumn
- ActiveList::Definition::AttributeColumn
- Defined in:
- lib/active_list/definition/attribute_column.rb
Direct Known Subclasses
Constant Summary
Constants inherited from DataColumn
Instance Attribute Summary collapse
-
#column ⇒ Object
readonly
Returns the value of attribute column.
-
#computation_method ⇒ Object
readonly
Returns the value of attribute computation_method.
-
#label_method ⇒ Object
readonly
Returns the value of attribute label_method.
-
#sort_column ⇒ Object
readonly
Returns the value of attribute sort_column.
Attributes inherited from AbstractColumn
Instance Method Summary collapse
-
#class_name ⇒ Object
Returns the class name of the used model.
- #computable? ⇒ Boolean
-
#datum_code(record = 'record_of_the_death', child = false) ⇒ Object
Code for rows.
- #enumerize? ⇒ Boolean
-
#initialize(table, name, options = {}) ⇒ AttributeColumn
constructor
A new instance of AttributeColumn.
- #sort_expression ⇒ Object
- #sortable? ⇒ Boolean
Methods inherited from DataColumn
#currency_for, #datatype, #exportable?, #exporting_datum_code, #header_code, #limit, #numeric?, #record_expr, #state_machine?
Methods inherited from AbstractColumn
#check_options!, #exportable?, #header_code, #hidden?, #short_id, #unique_id
Constructor Details
#initialize(table, name, options = {}) ⇒ AttributeColumn
Returns a new instance of AttributeColumn.
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/active_list/definition/attribute_column.rb', line 6 def initialize(table, name, = {}) super(table, name, ) @label_method = ([:label_method] || @name).to_sym unless @sort_column = [:sort] @sort_column = if @table.model.columns_hash[@label_method.to_s] @label_method elsif @table.model.columns_hash[@name.to_s] @name end end @computation_method = [:on_select] @column = @table.model.columns_hash[@label_method.to_s] end |
Instance Attribute Details
#column ⇒ Object (readonly)
Returns the value of attribute column.
4 5 6 |
# File 'lib/active_list/definition/attribute_column.rb', line 4 def column @column end |
#computation_method ⇒ Object (readonly)
Returns the value of attribute computation_method.
4 5 6 |
# File 'lib/active_list/definition/attribute_column.rb', line 4 def computation_method @computation_method end |
#label_method ⇒ Object (readonly)
Returns the value of attribute label_method.
4 5 6 |
# File 'lib/active_list/definition/attribute_column.rb', line 4 def label_method @label_method end |
#sort_column ⇒ Object (readonly)
Returns the value of attribute sort_column.
4 5 6 |
# File 'lib/active_list/definition/attribute_column.rb', line 4 def sort_column @sort_column end |
Instance Method Details
#class_name ⇒ Object
Returns the class name of the used model
36 37 38 |
# File 'lib/active_list/definition/attribute_column.rb', line 36 def class_name table.model.name end |
#computable? ⇒ Boolean
44 45 46 |
# File 'lib/active_list/definition/attribute_column.rb', line 44 def computable? !computation_method.nil? end |
#datum_code(record = 'record_of_the_death', child = false) ⇒ Object
Code for rows
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/active_list/definition/attribute_column.rb', line 21 def datum_code(record = 'record_of_the_death', child = false) code = '' code = if child if @options[:children].is_a?(FalseClass) 'nil' else "#{record}.#{table.[:children]}.#{@options[:children] || @label_method}" end else "#{record}.#{@label_method}" end code.c end |
#enumerize? ⇒ Boolean
48 49 50 51 |
# File 'lib/active_list/definition/attribute_column.rb', line 48 def enumerize? table.model.respond_to?(:enumerized_attributes) && !table.model.enumerized_attributes[@label_method].nil? end |
#sort_expression ⇒ Object
53 54 55 |
# File 'lib/active_list/definition/attribute_column.rb', line 53 def sort_expression "#{@table.model.table_name}.#{@sort_column}" end |
#sortable? ⇒ Boolean
40 41 42 |
# File 'lib/active_list/definition/attribute_column.rb', line 40 def sortable? !sort_column.nil? end |