Class: Sunspot::Query::DynamicQuery
- Inherits:
-
FieldQuery
- Object
- Scope
- FieldQuery
- Sunspot::Query::DynamicQuery
- Defined in:
- lib/sunspot/query/dynamic_query.rb
Overview
A dynamic query is a proxy object that implements the API of the FieldQuery class, but wraps a dynamic field factory and thus applies the query components using dynamic field instances.
Dynamic queries do not hold their own state, but rather proxy to the query that generated them, adding components directly to the owning query's internal state. ++ DynamicQuery instances are publicly generated by the Query#dynamic_query factory method.
Instance Method Summary collapse
-
#add_component(component) ⇒ Object
Add a component to the query.
-
#add_sort(sort) ⇒ Object
Add a Sort to the query.
-
#dynamic_query(field_name) ⇒ Object
This has the same effect as calling Query#exclude_instance; it is included for interface completeness.
-
#exclude_instance(instance) ⇒ Object
This has the same effect as calling Query#exclude_instance; it is included for interface completeness.
-
#initialize(dynamic_field_factory, query) ⇒ DynamicQuery
constructor
:nodoc:.
Methods inherited from FieldQuery
#add_field_facet, #add_query_facet, #order_by
Methods inherited from Scope
#add_conjunction, #add_disjunction, #add_negated_restriction, #add_negated_shorthand_restriction, #add_restriction, #add_shorthand_restriction
Constructor Details
#initialize(dynamic_field_factory, query) ⇒ DynamicQuery
:nodoc:
16 17 18 |
# File 'lib/sunspot/query/dynamic_query.rb', line 16 def initialize(dynamic_field_factory, query) #:nodoc: @dynamic_field_factory, @query = dynamic_field_factory, query end |
Instance Method Details
#add_component(component) ⇒ Object
Add a component to the query
46 47 48 |
# File 'lib/sunspot/query/dynamic_query.rb', line 46 def add_component(component) #:nodoc: @query.add_component(component) end |
#add_sort(sort) ⇒ Object
Add a Sort to the query
39 40 41 |
# File 'lib/sunspot/query/dynamic_query.rb', line 39 def add_sort(sort) #:nodoc: @query.add_sort(sort) end |
#dynamic_query(field_name) ⇒ Object
This has the same effect as calling Query#exclude_instance; it is included for interface completeness.
32 33 34 |
# File 'lib/sunspot/query/dynamic_query.rb', line 32 def dynamic_query(field_name) @query.dynamic_query(field_name) end |
#exclude_instance(instance) ⇒ Object
This has the same effect as calling Query#exclude_instance; it is included for interface completeness.
24 25 26 |
# File 'lib/sunspot/query/dynamic_query.rb', line 24 def exclude_instance(instance) @query.exclude_instance(instance) end |