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.



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

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

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



6
7
8
# File 'lib/active_list/definition/abstract_column.rb', line 6

def id
  @id
end

#nameObject (readonly) Also known as: sort_id

Returns the value of attribute name.



6
7
8
# File 'lib/active_list/definition/abstract_column.rb', line 6

def name
  @name
end

#optionsObject (readonly)

Returns the value of attribute options.



6
7
8
# File 'lib/active_list/definition/abstract_column.rb', line 6

def options
  @options
end

#tableObject (readonly)

Returns the value of attribute table.



6
7
8
# File 'lib/active_list/definition/abstract_column.rb', line 6

def table
  @table
end

Instance Method Details

#check_options!(options, *keys) ⇒ Object



44
45
46
47
48
# File 'lib/active_list/definition/abstract_column.rb', line 44

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

#exportable?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/active_list/definition/abstract_column.rb', line 28

def exportable?
  false
end

#header_codeObject

Raises:

  • (NotImplementedError)


16
17
18
# File 'lib/active_list/definition/abstract_column.rb', line 16

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

#hidden?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/active_list/definition/abstract_column.rb', line 20

def hidden?
  @hidden
end

#short_idObject

Uncommon but simple identifier for CSS class uses



38
39
40
# File 'lib/active_list/definition/abstract_column.rb', line 38

def short_id
  @id
end

#sortable?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/active_list/definition/abstract_column.rb', line 24

def sortable?
  false
end

#unique_idObject

Unique identifier of the column in the application



33
34
35
# File 'lib/active_list/definition/abstract_column.rb', line 33

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