Module: CouchRestAdapter::QueryViews::ClassMethods
- Defined in:
- lib/couch_rest_adapter/query_views.rb
Constant Summary collapse
- DEFAULT_DESIGN =
Rails.application.class.to_s.split("::").first.downcase
Instance Method Summary collapse
- #find_by_attribute(attr_name, value, doc_name = nil) ⇒ Object
- #query_view(name, doc_name = nil) ⇒ Object
-
#view(doc, attrs, reduce = false) ⇒ Object
TODO: method for reduce, and filters.
- #view_by_key(name, key = nil, doc_name = nil) ⇒ Object
Instance Method Details
#find_by_attribute(attr_name, value, doc_name = nil) ⇒ Object
16 17 18 19 20 |
# File 'lib/couch_rest_adapter/query_views.rb', line 16 def find_by_attribute attr_name, value, doc_name = nil document_name = 'by_attribute' key_value = [object_name, attr_name, value] view_by_key document_name, key_value, doc_name end |
#query_view(name, doc_name = nil) ⇒ Object
22 23 24 |
# File 'lib/couch_rest_adapter/query_views.rb', line 22 def query_view name, doc_name = nil view_by_key name, object_name, doc_name end |
#view(doc, attrs, reduce = false) ⇒ Object
TODO: method for reduce, and filters
32 33 34 |
# File 'lib/couch_rest_adapter/query_views.rb', line 32 def view doc, attrs, reduce = false database.view(doc, {reduce: reduce, include_docs: true}.merge!(attrs) ) end |
#view_by_key(name, key = nil, doc_name = nil) ⇒ Object
26 27 28 29 |
# File 'lib/couch_rest_adapter/query_views.rb', line 26 def view_by_key name, key = nil, doc_name = nil doc = name.namespace_me(doc_name || DEFAULT_DESIGN) view(doc, {key: key})['rows'].map{ |res| new res['doc'] } end |