class Trample::ConditionProxy
Public Class Methods
new(name, search)
click to toggle source
# File lib/trample/condition_proxy.rb, line 4 def initialize(name, search) condition = search.class._conditions[name.to_sym] raise ConditionNotFoundError.new(search, name) unless condition @condition_class = condition.class @condition_config = condition.attributes.dup @search = search @name = name.to_sym end
Public Instance Methods
analyzed(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 24 def analyzed(value) set(values: value, search_analyzed: true) end
and(values)
click to toggle source
# File lib/trample/condition_proxy.rb, line 19 def and(values) set(values: values, and: true) end
Also aliased as: all
any_text(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 69 def any_text(value) set(values: value, any_text: true) end
autocomplete(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 61 def autocomplete(value) set(values: value, autocomplete: true) end
eq(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 57 def eq(value) set(values: value) end
gt(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 37 def gt(value) merge(from: value) end
gte(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 33 def gte(value) merge(from_eq: value) end
lt(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 45 def lt(value) merge(to: value) end
lte(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 41 def lte(value) merge(to_eq: value) end
not(values)
click to toggle source
# File lib/trample/condition_proxy.rb, line 28 def not(values) set(values: values, not: true) end
Also aliased as: not_in
or(values)
click to toggle source
# File lib/trample/condition_proxy.rb, line 14 def or(values) set(values: values, and: false) end
Also aliased as: in
set(payload)
click to toggle source
# File lib/trample/condition_proxy.rb, line 73 def set(payload) payload = {values: payload} unless payload.is_a?(Hash) condition = @condition_class.new(@condition_config.merge(payload)) @search.conditions[@name] = condition @search end
starts_with(value)
click to toggle source
# File lib/trample/condition_proxy.rb, line 65 def starts_with(value) set(values: value, prefix: true) end
within(range)
click to toggle source
# File lib/trample/condition_proxy.rb, line 49 def within(range) set(from: range.first, to: range.last) end
within_eq(range)
click to toggle source
# File lib/trample/condition_proxy.rb, line 53 def within_eq(range) set(from_eq: range.first, to_eq: range.last) end
Private Instance Methods
merge(payload)
click to toggle source
# File lib/trample/condition_proxy.rb, line 82 def merge(payload) existing = @search.conditions[@name] existing_attrs = {} existing_attrs = existing.attributes if existing merged = existing_attrs.merge(payload) set(merged) end