module Elastic::Nodes::Concerns::Sortable
Constants
- MODES
- ORDER
Attributes
registered_sorts[W]
Public Instance Methods
add_sort(_field, order: :asc, mode: nil, missing: nil)
click to toggle source
# File lib/elastic/nodes/concerns/sortable.rb, line 18 def add_sort(_field, order: :asc, mode: nil, missing: nil) raise ArgumentError, "invalid sort order #{order}" unless ORDER.include?(order.to_sym) raise ArgumentError, "invalid sort mode #{mode}" if mode && !MODES.include?(mode.to_sym) options = { 'order' => order.to_s } options['mode'] = mode.to_s if mode.present? options['missing'] = missing if missing.present? registered_sorts << { _field.to_s => options.freeze }.freeze self end
clone()
click to toggle source
Calls superclass method
# File lib/elastic/nodes/concerns/sortable.rb, line 6 def clone copy_sorts super end
reset_sorts()
click to toggle source
# File lib/elastic/nodes/concerns/sortable.rb, line 30 def reset_sorts @registered_sorts = nil self end
simplify()
click to toggle source
Calls superclass method
# File lib/elastic/nodes/concerns/sortable.rb, line 10 def simplify copy_sorts super end
sorts()
click to toggle source
# File lib/elastic/nodes/concerns/sortable.rb, line 14 def sorts registered_sorts.dup end
Private Instance Methods
copy_sorts(_clone)
click to toggle source
# File lib/elastic/nodes/concerns/sortable.rb, line 41 def copy_sorts(_clone) _clone.registered_sorts = sorts _clone end
registered_sorts()
click to toggle source
# File lib/elastic/nodes/concerns/sortable.rb, line 50 def registered_sorts @registered_sorts ||= [] end
render_sorts()
click to toggle source
# File lib/elastic/nodes/concerns/sortable.rb, line 46 def render_sorts sorts end