Class: ActiveRecord::SortableBy::Config
- Inherits:
-
Object
- Object
- ActiveRecord::SortableBy::Config
- Defined in:
- lib/sortable_by.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#_default ⇒ Object
readonly
Returns the value of attribute _default.
-
#_fields ⇒ Object
readonly
Returns the value of attribute _fields.
Instance Method Summary collapse
- #default(expr) ⇒ Object
- #dup ⇒ Object
- #field(name, **opts) ⇒ Object
-
#initialize ⇒ Config
constructor
A new instance of Config.
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
8 9 10 11 |
# File 'lib/sortable_by.rb', line 8 def initialize @_fields = {} @_default = nil end |
Instance Attribute Details
#_default ⇒ Object (readonly)
Returns the value of attribute _default.
6 7 8 |
# File 'lib/sortable_by.rb', line 6 def _default @_default end |
#_fields ⇒ Object (readonly)
Returns the value of attribute _fields.
6 7 8 |
# File 'lib/sortable_by.rb', line 6 def _fields @_fields end |
Instance Method Details
#default(expr) ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/sortable_by.rb', line 26 def default(expr) # legacy support if expr.is_a?(Hash) expr = expr.map do |field, dir| [(dir == :desc ? '-' : ''), field].join end.join(',') end @_default = expr.to_s end |
#dup ⇒ Object
13 14 15 16 17 18 |
# File 'lib/sortable_by.rb', line 13 def dup duplicate = self.class.new duplicate.instance_variable_set :@_fields, _fields.deep_dup duplicate.instance_variable_set :@_default, _default.deep_dup duplicate end |
#field(name, **opts) ⇒ Object
20 21 22 23 24 |
# File 'lib/sortable_by.rb', line 20 def field(name, **opts) name = name.to_s @_fields[name] = Field.new(name, **opts) @_default ||= name end |