Module: WillSortate::ActiveRecordModelExtension
- Defined in:
- lib/will_sortate/models/active_record_model_extension.rb
Instance Attribute Summary collapse
-
#sortated_field ⇒ Object
readonly
Returns the value of attribute sortated_field.
-
#sortated_order ⇒ Object
readonly
Returns the value of attribute sortated_order.
Instance Method Summary collapse
Instance Attribute Details
#sortated_field ⇒ Object (readonly)
Returns the value of attribute sortated_field.
3 4 5 |
# File 'lib/will_sortate/models/active_record_model_extension.rb', line 3 def sortated_field @sortated_field end |
#sortated_order ⇒ Object (readonly)
Returns the value of attribute sortated_order.
3 4 5 |
# File 'lib/will_sortate/models/active_record_model_extension.rb', line 3 def sortated_order @sortated_order end |
Instance Method Details
#sortate(order_by, default_order_by) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/will_sortate/models/active_record_model_extension.rb', line 5 def sortate order_by, default_order_by regexp = /([\w\.-]+)_(asc|desc)$/ md = order_by.try(:match, regexp) || default_order_by.match(regexp) raise "OrderBy argument has to be specified in the format :field_:direction" unless md @sortated_field, @sortated_order = md[1], md[2] order("#{sortated_field} #{sortated_order}") end |