Module: SearchObject::Base
- Defined in:
- lib/search_object/base.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #count ⇒ Object
- #initialize(options = {}) ⇒ Object
- #params(additions = {}) ⇒ Object
- #results ⇒ Object
- #results? ⇒ Boolean
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 8 9 10 11 12 |
# File 'lib/search_object/base.rb', line 3 def self.included(base) base.extend ClassMethods base.instance_eval do @config = { defaults: {}, actions: {}, scope: nil } end end |
Instance Method Details
#count ⇒ Object
26 27 28 |
# File 'lib/search_object/base.rb', line 26 def count @count ||= @search.count self end |
#initialize(options = {}) ⇒ Object
14 15 16 |
# File 'lib/search_object/base.rb', line 14 def initialize( = {}) @search = Search.build_for self.class.config, end |
#params(additions = {}) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/search_object/base.rb', line 30 def params(additions = {}) if additions.empty? @search.params else @search.params.merge Helper.stringify_keys(additions) end end |
#results ⇒ Object
18 19 20 |
# File 'lib/search_object/base.rb', line 18 def results @results ||= fetch_results end |
#results? ⇒ Boolean
22 23 24 |
# File 'lib/search_object/base.rb', line 22 def results? results.any? end |