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.
-
#value_method ⇒ Object
readonly
Returns the value of attribute value_method.
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.
- #datum_value(record = 'record of the death', child = false) ⇒ Object
- #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 19 20 21 22 23 |
# File 'lib/active_list/definition/attribute_column.rb', line 6 def initialize(table, name, = {}) super(table, name, ) @label_method = ([:label_method] || @name).to_sym @value_method = if [:value_method].present? [:value_method].to_sym else @label_method.to_s.gsub('human_', '').to_sym end 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 |
#value_method ⇒ Object (readonly)
Returns the value of attribute value_method.
4 5 6 |
# File 'lib/active_list/definition/attribute_column.rb', line 4 def value_method @value_method end |
Instance Method Details
#class_name ⇒ Object
Returns the class name of the used model
55 56 57 |
# File 'lib/active_list/definition/attribute_column.rb', line 55 def class_name table.model.name end |
#computable? ⇒ Boolean
63 64 65 |
# File 'lib/active_list/definition/attribute_column.rb', line 63 def computable? !computation_method.nil? end |
#datum_code(record = 'record_of_the_death', child = false) ⇒ Object
Code for rows
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/active_list/definition/attribute_column.rb', line 26 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 |
#datum_value(record = 'record of the death', child = false) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/active_list/definition/attribute_column.rb', line 40 def datum_value(record = 'record of the death', child = false) code = '' code = if child if @options[:childer].is_a?(FalseClass) 'nil' else "#{record}.#{table.[:children]}.#{@options[:children] || @value_method}" end else "#{record}.#{@value_method}" end code.c end |
#enumerize? ⇒ Boolean
67 68 69 70 |
# File 'lib/active_list/definition/attribute_column.rb', line 67 def enumerize? table.model.respond_to?(:enumerized_attributes) && !table.model.enumerized_attributes[@label_method].nil? end |
#sort_expression ⇒ Object
72 73 74 |
# File 'lib/active_list/definition/attribute_column.rb', line 72 def sort_expression "#{@table.model.table_name}.#{@sort_column}" end |
#sortable? ⇒ Boolean
59 60 61 |
# File 'lib/active_list/definition/attribute_column.rb', line 59 def sortable? !sort_column.nil? end |