Class: SimplyCouch::Model::View::CustomViewSpec
- Inherits:
-
BaseViewSpec
- Object
- BaseViewSpec
- SimplyCouch::Model::View::CustomViewSpec
- Defined in:
- lib/simply_couch/model/view/custom_view_spec.rb
Overview
a view for custom map/reduce functions that still returns model instances
example:
view :my_custom_view, :map => "function(doc) { emit(doc._id, null); }", :include_docs => true, :type => :custom, :reduce => nil
Constant Summary
Constants inherited from BaseViewSpec
BaseViewSpec::DEFAULT_DIGEST_VIEW_NAMES, BaseViewSpec::DEFAULT_LANGUAGE
Instance Attribute Summary
Attributes inherited from BaseViewSpec
#design_document, #language, #list_function, #list_name, #view_name
Instance Method Summary collapse
- #lib ⇒ Object
- #map_function ⇒ Object
- #process_results(results) ⇒ Object
- #reduce_function ⇒ Object
- #view_parameters ⇒ Object
Methods inherited from BaseViewSpec
Constructor Details
This class inherits a constructor from SimplyCouch::Model::View::BaseViewSpec
Instance Method Details
#lib ⇒ Object
17 18 19 |
# File 'lib/simply_couch/model/view/custom_view_spec.rb', line 17 def lib [:lib] end |
#map_function ⇒ Object
9 10 11 |
# File 'lib/simply_couch/model/view/custom_view_spec.rb', line 9 def map_function [:map] end |
#process_results(results) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/simply_couch/model/view/custom_view_spec.rb', line 25 def process_results(results) processed = if count? results['rows'].first.try(:[], 'value') || 0 else results['rows'].map do |row| if row['doc'].kind_of?(klass) row['doc'] else result = row['doc'] || (row['value'].merge(:_id => row['id'] || row['key']) unless view_parameters[:include_docs]) klass.json_create result if result end end.compact end super processed end |
#reduce_function ⇒ Object
13 14 15 |
# File 'lib/simply_couch/model/view/custom_view_spec.rb', line 13 def reduce_function [:reduce] end |
#view_parameters ⇒ Object
21 22 23 |
# File 'lib/simply_couch/model/view/custom_view_spec.rb', line 21 def view_parameters {:include_docs => [:include_docs] || false}.merge(super) end |