Class: SPQuery
- Inherits:
-
Object
- Object
- SPQuery
- Defined in:
- lib/seek_party/models/sp_query.rb
Instance Attribute Summary collapse
-
#params ⇒ Object
Returns the value of attribute params.
-
#queries ⇒ Object
Returns the value of attribute queries.
Instance Method Summary collapse
- #add_attribute_query(attribute, query) ⇒ Object
- #build_final_query ⇒ Object
-
#initialize(queries: {}, params: nil) ⇒ SPQuery
constructor
A new instance of SPQuery.
- #or_and(value) ⇒ Object
- #set_attribute_query(attribute, query) ⇒ Object
Constructor Details
#initialize(queries: {}, params: nil) ⇒ SPQuery
Returns a new instance of SPQuery.
4 5 6 7 |
# File 'lib/seek_party/models/sp_query.rb', line 4 def initialize(queries: {}, params: nil) @queries = queries @params = params end |
Instance Attribute Details
#params ⇒ Object
Returns the value of attribute params.
2 3 4 |
# File 'lib/seek_party/models/sp_query.rb', line 2 def params @params end |
#queries ⇒ Object
Returns the value of attribute queries.
2 3 4 |
# File 'lib/seek_party/models/sp_query.rb', line 2 def queries @queries end |
Instance Method Details
#add_attribute_query(attribute, query) ⇒ Object
9 10 11 |
# File 'lib/seek_party/models/sp_query.rb', line 9 def add_attribute_query(attribute, query) @queries[attribute] << query end |
#build_final_query ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/seek_party/models/sp_query.rb', line 17 def build_final_query return if @queries.blank? @queries.map { |key, value| if key == @queries.keys.first value else or_and(value) end }.sum end |
#or_and(value) ⇒ Object
28 29 30 |
# File 'lib/seek_party/models/sp_query.rb', line 28 def or_and(value) @params[:search].present? ? " OR #{value}" : " AND #{value}" end |
#set_attribute_query(attribute, query) ⇒ Object
13 14 15 |
# File 'lib/seek_party/models/sp_query.rb', line 13 def set_attribute_query(attribute, query) @queries[attribute] = query end |