Sha256: 08729d5079073c04f35c66c1f2a0689630f0711615f720f134a4262477b67589

Contents?: true

Size: 737 Bytes

Versions: 5

Compression:

Stored size: 737 Bytes

Contents

module CouchPotato
  module View
    # 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
    
    class CustomViewSpec < BaseViewSpec
      def map_function
        options[:map]
      end
      
      def reduce_function
        options[:reduce]
      end
      
      def view_parameters
        {:include_docs => options[:include_docs] || false}.merge(super)
      end
      
      def process_results(results)
        results['rows'].map do |row|
          klass.json_create row['doc'] || row['value'].merge(:_id => row['id'])
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
langalex-couch_potato-0.2.0 lib/couch_potato/view/custom_view_spec.rb
langalex-couch_potato-0.2.1 lib/couch_potato/view/custom_view_spec.rb
langalex-couch_potato-0.2.2 lib/couch_potato/view/custom_view_spec.rb
speedmax-couch_potato-0.2.0 lib/couch_potato/view/custom_view_spec.rb
speedmax-couch_potato-0.2.2 lib/couch_potato/view/custom_view_spec.rb