Module: ContentfulModel::ChainableQueries::ClassMethods
- Defined in:
- lib/contentful_model/chainable_queries.rb
Instance Method Summary collapse
- #all ⇒ Object
- #find(id) ⇒ Object
- #find_by(*args) ⇒ Object
- #first ⇒ Object
- #get_query ⇒ Object
- #load ⇒ Object
- #offset(n) ⇒ Object (also: #skip)
- #search(parameters) ⇒ Object
Instance Method Details
#all ⇒ Object
15 16 17 18 19 |
# File 'lib/contentful_model/chainable_queries.rb', line 15 def all get_query raise ArgumentError, "You need to set self.content_type in your model class" if @content_type_id.nil? self end |
#find(id) ⇒ Object
65 66 67 68 69 |
# File 'lib/contentful_model/chainable_queries.rb', line 65 def find(id) get_query @query << {'sys.id' => id} @query.execute.first end |
#find_by(*args) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/contentful_model/chainable_queries.rb', line 36 def find_by(*args) get_query args.each do |query| #query is a hash if query.values.first.is_a?(Array) #we need to do an 'in' query @query << {"fields.#{query.keys.first}[in]" => query.values.first.join(",")} else @query << {"fields.#{query.keys.first}" => query.values.first} end end self end |
#first ⇒ Object
21 22 23 24 25 |
# File 'lib/contentful_model/chainable_queries.rb', line 21 def first get_query @query << {'limit' => 1} @query.execute.first end |
#get_query ⇒ Object
11 12 13 |
# File 'lib/contentful_model/chainable_queries.rb', line 11 def get_query @query ||= ContentfulModel::Query.new(self) end |
#load ⇒ Object
61 62 63 |
# File 'lib/contentful_model/chainable_queries.rb', line 61 def load @query.execute end |
#offset(n) ⇒ Object Also known as: skip
27 28 29 30 31 32 |
# File 'lib/contentful_model/chainable_queries.rb', line 27 def offset(n) get_query puts @query.inspect @query << {'skip' => n} self end |
#search(parameters) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/contentful_model/chainable_queries.rb', line 49 def search(parameters) get_query if parameters.is_a?(Hash) parameters.each do |field, search| @query << {"fields.#{field}[match]" => search} end elsif parameters.is_a?(String) @query << {"query" => parameters} end self end |