Class: SqlSearchableSortable::SortColumn

Inherits:
Object
  • Object
show all
Defined in:
lib/sql_search_n_sort/sql_searchable_sortable.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(column, display_text = nil, show_asc = true, show_desc = true) ⇒ SortColumn

Returns a new instance of SortColumn.



93
94
95
96
97
98
# File 'lib/sql_search_n_sort/sql_searchable_sortable.rb', line 93

def initialize(column, display_text=nil, show_asc=true, show_desc=true)
  @column = column
  @display_text = display_text
  @show_asc = show_asc
  @show_desc = show_desc
end

Instance Attribute Details

#columnObject (readonly)

Returns the value of attribute column.



92
93
94
# File 'lib/sql_search_n_sort/sql_searchable_sortable.rb', line 92

def column
  @column
end

#display_textObject (readonly)

Returns the value of attribute display_text.



92
93
94
# File 'lib/sql_search_n_sort/sql_searchable_sortable.rb', line 92

def display_text
  @display_text
end

#show_ascObject (readonly)

Returns the value of attribute show_asc.



92
93
94
# File 'lib/sql_search_n_sort/sql_searchable_sortable.rb', line 92

def show_asc
  @show_asc
end

#show_descObject (readonly)

Returns the value of attribute show_desc.



92
93
94
# File 'lib/sql_search_n_sort/sql_searchable_sortable.rb', line 92

def show_desc
  @show_desc
end

Instance Method Details

#human_nameObject



102
103
104
# File 'lib/sql_search_n_sort/sql_searchable_sortable.rb', line 102

def human_name
  name.humanize
end

#nameObject



99
100
101
# File 'lib/sql_search_n_sort/sql_searchable_sortable.rb', line 99

def name
  column.to_s
end

#select_optsObject



105
106
107
108
109
110
# File 'lib/sql_search_n_sort/sql_searchable_sortable.rb', line 105

def select_opts
  arr = []
  arr << ["#{display_text || human_name}",        "#{name}"]      if show_asc
  arr << ["#{display_text || human_name} [desc]", "#{name} desc"] if show_desc
  return arr
end