Class: ActiveList::Definition::AttributeColumn

Inherits:
DataColumn show all
Defined in:
lib/active_list/definition/attribute_column.rb

Direct Known Subclasses

StatusColumn

Constant Summary

Constants inherited from DataColumn

DataColumn::LABELS_COLUMNS

Instance Attribute Summary collapse

Attributes inherited from AbstractColumn

#id, #name, #options, #table

Instance Method Summary collapse

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, options = {})
  super(table, name, options)
  @label_method = (options[:label_method] || @name).to_sym
  unless @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
  end
  @computation_method = options[:on_select]
  @column = @table.model.columns_hash[@label_method.to_s]
end

Instance Attribute Details

#columnObject (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_methodObject (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_methodObject (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_columnObject (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_nameObject

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

Returns:

  • (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.options[:children]}.#{@options[:children] || @label_method}"
                  end
         else
           "#{record}.#{@label_method}"
         end
  code.c
end

#enumerize?Boolean

Returns:

  • (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_expressionObject



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

Returns:

  • (Boolean)


40
41
42
# File 'lib/active_list/definition/attribute_column.rb', line 40

def sortable?
  !sort_column.nil?
end