class CustomAttributes::SearchQueryField

Attributes

fuzziness[R]
operator[R]
query[R]

Public Class Methods

new(field, defaults) click to toggle source
# File lib/custom_attributes/search_query_field.rb, line 5
def initialize(field, defaults)
  @defaults = defaults
  @field = field
end

Public Instance Methods

defaults() click to toggle source
# File lib/custom_attributes/search_query_field.rb, line 38
def defaults
  @defaults ||= { query: '*' }
end
field() click to toggle source
# File lib/custom_attributes/search_query_field.rb, line 34
def field
  @field ||= {}
end
to_query_hash() click to toggle source
# File lib/custom_attributes/search_query_field.rb, line 10
def to_query_hash
  query_hash = {}

  return query_hash if query == '*'

  query_hash = query_hash.merge({query: query}) unless query.nil?
  query_hash = query_hash.merge({fuzziness: fuzziness}) unless fuzziness.nil? || fuzziness.zero?
  query_hash = query_hash.merge({operator: operator}) unless operator.nil?

  query_hash
end

Private Instance Methods

field_or_default(attribute) click to toggle source
# File lib/custom_attributes/search_query_field.rb, line 44
def field_or_default(attribute)
  field[attribute].nil? ? defaults[attribute] : field[attribute]
end