Class: ActiveList::Definition::AbstractColumn

Inherits:
Object
  • Object
show all
Defined in:
lib/active_list/definition/abstract_column.rb

Direct Known Subclasses

ActionColumn, DataColumn, EmptyColumn, FieldColumn

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(table, name, options = {}) ⇒ AbstractColumn

Returns a new instance of AbstractColumn.



6
7
8
9
10
11
12
# File 'lib/active_list/definition/abstract_column.rb', line 6

def initialize(table, name, options = {})
  @table   = table
  @name    = name.to_sym
  @options = options
  @hidden  = !!@options.delete(:hidden)
  @id = 'c' + @table.new_column_id # ActiveList.new_uid
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



4
5
6
# File 'lib/active_list/definition/abstract_column.rb', line 4

def id
  @id
end

#nameObject (readonly) Also known as: sort_id

Returns the value of attribute name.



4
5
6
# File 'lib/active_list/definition/abstract_column.rb', line 4

def name
  @name
end

#optionsObject (readonly)

Returns the value of attribute options.



4
5
6
# File 'lib/active_list/definition/abstract_column.rb', line 4

def options
  @options
end

#tableObject (readonly)

Returns the value of attribute table.



4
5
6
# File 'lib/active_list/definition/abstract_column.rb', line 4

def table
  @table
end

Instance Method Details

#check_options!(options, *keys) ⇒ Object



46
47
48
49
50
# File 'lib/active_list/definition/abstract_column.rb', line 46

def check_options!(options, *keys)
  for key in options.keys
    raise ArgumentError, "Key :#{key} is unexpected. (Expecting: #{keys.to_sentence})"
  end
end

#computable?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/active_list/definition/abstract_column.rb', line 30

def computable?
  false
end

#exportable?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/active_list/definition/abstract_column.rb', line 26

def exportable?
  false
end

#header_codeObject

Raises:

  • (NotImplementedError)


14
15
16
# File 'lib/active_list/definition/abstract_column.rb', line 14

def header_code
  raise NotImplementedError, "#{self.class.name}#header_code is not implemented."
end

#hidden?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/active_list/definition/abstract_column.rb', line 18

def hidden?
  @hidden
end

#short_idObject

Uncommon but simple identifier for CSS class uses



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

def short_id
  @id
end

#sortable?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/active_list/definition/abstract_column.rb', line 22

def sortable?
  false
end

#unique_idObject

Unique identifier of the column in the application



35
36
37
# File 'lib/active_list/definition/abstract_column.rb', line 35

def unique_id
  "#{@table.name}-#{@name}"
end