module Elasticsearch::FacetedSearch::Sortable

Public Instance Methods

current_sort() click to toggle source

Returns entire sort hash (Label, value, search.…)

# File lib/elasticsearch/faceted_search/sortable.rb, line 29
def current_sort
  sorts.select{|x| x.fetch(:value) == selected_sort_value }.first || default_sort
end
sorts() click to toggle source

Setup by the parent class www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html

> returns Array or Hash

{

label: "Relevant",
value: "relevant",
search: {...sort value(s) for elasticsearch...},
default: false

}

# File lib/elasticsearch/faceted_search/sortable.rb, line 16
def sorts
  []
end

Private Instance Methods

default_sort() click to toggle source

Returns entire hash for sort for the default

# File lib/elasticsearch/faceted_search/sortable.rb, line 57
def default_sort
  sorts.select{|x| x.fetch(:default, false) }.first
end
default_sort_value() click to toggle source

Returns string value of the default sort signified by

> default: true

# File lib/elasticsearch/faceted_search/sortable.rb, line 52
def default_sort_value
  default_sort.fetch(:value, nil)
end
selected_sort_value() click to toggle source

Selected sort value (params || default)

> returns String

# File lib/elasticsearch/faceted_search/sortable.rb, line 37
def selected_sort_value
  sort_param.present? ? sort_param : default_sort_value
end
sort_param() click to toggle source

Returns string for sort param even if invalid rescue required if search params is not a hash

# File lib/elasticsearch/faceted_search/sortable.rb, line 44
def sort_param
  search_params[:sort]
rescue
  nil
end