class Sort::ScriptSortBuilder

Constants

NAME

Public Class Methods

new(script:, type: @script = script) click to toggle source

@params:

script: Script used in this sort.
type: Script sort type used in this sort, can be (number, string).
nested_sort: Nested path within current object.
sort_mode: Defines which distance to use for sorting in the case a document contains multiple values.
# File lib/sort/script_sort_builder.rb, line 16
def initialize script:, type:
  @script = script
  @type = type.script_sort_type
  @nested_sort = nil
  @sort_mode = nil
end

Public Instance Methods

nested_sort(nested_sort) click to toggle source

sets nested_sort

# File lib/sort/script_sort_builder.rb, line 49
def nested_sort nested_sort
  @nested_sort = nested_sort
  return self
end
nested_sort_expr() click to toggle source

returns nested_sort

# File lib/sort/script_sort_builder.rb, line 45
def nested_sort_expr
  return @nested_sort
end
query() click to toggle source
# File lib/sort/script_sort_builder.rb, line 23
def query
  query = {}
  script_query = self.common_query
  script_query[:script] = @script.settings
  script_query[:type] = @type
  script_query[:nested] = @nested_sort.query if @nested_sort.present?
  script_sort[:sort_mode] = @sort_mode if @sort_mode.present?
  query[name.intern] = script_query
  return query
end
script_expr() click to toggle source

returns script

# File lib/sort/script_sort_builder.rb, line 35
def script_expr
  return @script
end
sort_mode(sort_mode) click to toggle source

sets sort_mode

# File lib/sort/script_sort_builder.rb, line 59
def sort_mode sort_mode
  @sort_mode = sort_mode.sort_mode
  return self
end
sort_mode_expr() click to toggle source

returns sort_mode

# File lib/sort/script_sort_builder.rb, line 55
def sort_mode_expr
  return @sort_mode
end
type_expr() click to toggle source

returns type

# File lib/sort/script_sort_builder.rb, line 40
def type_expr
  return @type
end