class ActiveList::Definition::AttributeColumn
Attributes
column[R]
computation_method[R]
label_method[R]
sort_column[R]
value_method[R]
Public Class Methods
new(table, name, options = {})
click to toggle source
Calls superclass method
# File lib/active_list/definition/attribute_column.rb, line 6 def initialize(table, name, options = {}) super(table, name, options) @label_method = (options[:label_method] || @name).to_sym @value_method = if options[:value_method].present? options[:value_method].to_sym else @label_method.to_s.gsub('human_', '').to_sym end @sort_column = get_sort_column @computation_method = options[:on_select] @column = @table.model.columns_hash[@label_method.to_s] end
Public Instance Methods
class_name()
click to toggle source
Returns the class name of the used model
# File lib/active_list/definition/attribute_column.rb, line 67 def class_name "RECORD.class.name.tableize".c end
computable?()
click to toggle source
# File lib/active_list/definition/attribute_column.rb, line 75 def computable? !computation_method.nil? end
datum_code(record = 'record_of_the_death', child = false)
click to toggle source
Code for rows
# File lib/active_list/definition/attribute_column.rb, line 20 def datum_code(record = 'record_of_the_death', child = false) code = '' code = if child if @options[:children].is_a?(FalseClass) 'nil' else "#{record}.#{table.options[:children]}.#{@options[:children] || @label_method}" end else "#{record}.#{@label_method}" end code.c end
datum_value(record = 'record of the death', child = false)
click to toggle source
# File lib/active_list/definition/attribute_column.rb, line 34 def datum_value(record = 'record of the death', child = false) code = '' code = if child if @options[:childer].is_a?(FalseClass) 'nil' else "#{record}.#{table.options[:children]}.#{@options[:children] || @value_method}" end else "#{record}.#{@value_method}" end code.c end
enumerize?()
click to toggle source
# File lib/active_list/definition/attribute_column.rb, line 79 def enumerize? table.model.respond_to?(:enumerized_attributes) && !table.model.enumerized_attributes[@label_method].nil? end
get_sort_column()
click to toggle source
# File lib/active_list/definition/attribute_column.rb, line 48 def get_sort_column selects = @table.options[:select] || {} selects_label = selects.find { |sql_name, name| name.to_s == @label_method.to_s }&.last selects_name = selects.find { |sql_name, name| name.to_s == @name.to_s }&.last if (selects_label || selects_name) && options[:sort].blank? sort_column = (selects_label || selects_name) else sort_column = options[:sort] sort_column ||= if @table.model.columns_hash[@label_method.to_s] @label_method elsif @table.model.columns_hash[@name.to_s] @name end sort_column &&= "#{@table.model.table_name}.#{sort_column}" end sort_column end
sort_expression()
click to toggle source
# File lib/active_list/definition/attribute_column.rb, line 84 def sort_expression @sort_column end
sortable?()
click to toggle source
# File lib/active_list/definition/attribute_column.rb, line 71 def sortable? !sort_column.nil? end