Class: Elasticquery::Base
- Inherits:
-
Object
- Object
- Elasticquery::Base
- Includes:
- Queries::All
- Defined in:
- lib/elasticquery/base.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
-
#query ⇒ Object
readonly
Returns the value of attribute query.
Class Method Summary collapse
-
.build(params = {}) ⇒ Hash
Build elasticquery query using defined filters.
-
.filtered {|params| ... } ⇒ Object
Define params processor for es query.
Instance Method Summary collapse
-
#build ⇒ Hash
Build elasticquery query using defined filters.
-
#filterable? ⇒ Boolean
Is your object can process params to elasticqueriable.
-
#initialize(params = {}) ⇒ Base
constructor
Create new query objects with built empty query.
Constructor Details
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
11 12 13 |
# File 'lib/elasticquery/base.rb', line 11 def params @params end |
#query ⇒ Object (readonly)
Returns the value of attribute query.
11 12 13 |
# File 'lib/elasticquery/base.rb', line 11 def query @query end |
Class Method Details
.build(params = {}) ⇒ Hash
Build elasticquery query using defined filters.
76 77 78 |
# File 'lib/elasticquery/base.rb', line 76 def self.build(params = {}) new(params).build end |
.filtered {|params| ... } ⇒ Object
Note:
Multiple filtered blocks can be defined.
Define params processor for es query.
29 30 31 |
# File 'lib/elasticquery/base.rb', line 29 def self.filtered(&block) self.filters += [block] end |
Instance Method Details
#build ⇒ Hash
Build elasticquery query using defined filters.
63 64 65 66 |
# File 'lib/elasticquery/base.rb', line 63 def build filters.each { |filter| instance_exec @params, &filter } query.to_hash end |
#filterable? ⇒ Boolean
Is your object can process params to elasticqueriable.
47 48 49 |
# File 'lib/elasticquery/base.rb', line 47 def filterable? filters.any? end |