module SearchObject::Base::ClassMethods
Attributes
config[R]
Public Instance Methods
inherited(base)
click to toggle source
# File lib/search_object/base.rb, line 64 def inherited(base) base.instance_variable_set '@config', Helper.deep_copy(config) end
option(name, options = nil, &block)
click to toggle source
# File lib/search_object/base.rb, line 72 def option(name, options = nil, &block) options = { default: options } unless options.is_a?(Hash) name = name.to_s default = options[:default] handler = options[:with] || block config[:defaults][name] = default unless default.nil? config[:options][name] = Helper.normalize_search_handler(handler, name) define_method(name) { @search.param name } end
results(*args)
click to toggle source
# File lib/search_object/base.rb, line 85 def results(*args) new(*args).results end
scope(&block)
click to toggle source
# File lib/search_object/base.rb, line 68 def scope(&block) config[:scope] = block end