Module: AjaxScaffold::Controller
- Includes:
- Common
- Defined in:
- lib/base/ajax_scaffold.rb,
lib/ajax_scaffold_plugin.rb
Instance Method Summary
collapse
Methods included from Common
#current_page, #current_sort, #current_sort_direction
Instance Method Details
#clear_flashes ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/base/ajax_scaffold.rb', line 40
def clear_flashes
if request.xhr?
flash.keys.each do |flash_key|
flash[flash_key] = nil
end
end
end
|
#default_per_page ⇒ Object
48
49
50
|
# File 'lib/base/ajax_scaffold.rb', line 48
def default_per_page
25
end
|
#eval_method_string(object, method_str) ⇒ Object
88
89
90
91
92
93
94
95
96
97
|
# File 'lib/ajax_scaffold_plugin.rb', line 88
def eval_method_string(object, method_str)
methods = method_str.split('.')
methods.each do |m|
object = eval("object.#{m}") rescue nil
return object if object.nil?
end
object
end
|
#sort_collection_by_method(collection, column, order) ⇒ Object
68
69
70
71
|
# File 'lib/ajax_scaffold_plugin.rb', line 68
def sort_collection_by_method(collection, column, order)
collection.sort!{|line1, line2| sort_lines_by_column(line1, line2, column, order)}
end
|
#sort_lines_by_column(line1, line2, column, sort_order) ⇒ Object
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/ajax_scaffold_plugin.rb', line 73
def sort_lines_by_column(line1, line2, column, sort_order)
value1 = eval_method_string(line1, column)
value2 = eval_method_string(line2, column)
if (value1.nil?)
res = -1
elsif (value2.nil?)
res = 1
else
res = (value1 != nil ? value1 : "") <=> (value2 != nil ? value2 : "")
end
sort_order == 'asc' ? res : res * -1
end
|
#store_or_get_from_session(id_key, value_key) ⇒ Object
52
53
54
55
|
# File 'lib/base/ajax_scaffold.rb', line 52
def store_or_get_from_session(id_key, value_key)
session[id_key][value_key] = params[value_key] if !params[value_key].nil?
params[value_key] ||= session[id_key][value_key]
end
|
#update_params(options) ⇒ Object
57
58
59
60
61
62
63
64
|
# File 'lib/base/ajax_scaffold.rb', line 57
def update_params(options)
@scaffold_id = params[:scaffold_id] ||= options[:default_scaffold_id]
session[@scaffold_id] ||= {:sort => options[:default_sort], :sort_direction => options[:default_sort_direction], :page => 1}
store_or_get_from_session(@scaffold_id, :sort)
store_or_get_from_session(@scaffold_id, :sort_direction)
store_or_get_from_session(@scaffold_id, :page)
end
|