Sha256: 6a199c2ebca14f47768d4da0abc43d9ee8ae3e2f76d618ccde556b3440d135f8
Contents?: true
Size: 1023 Bytes
Versions: 2
Compression:
Stored size: 1023 Bytes
Contents
module CouchPotato module View # A view to return model instances with only some properties poulated by searching its properties, e.g. for very large documents where you are only interested in some of their data # # example: # view :my_view, :key => :name, :properties => [:name, :author], :type => :properties class PropertiesViewSpec < ModelViewSpec def map_function "function(doc) { emit(#{formatted_key(key)}, #{properties_for_map(properties)}); }" end def process_results(results) results['rows'].map do |row| klass.json_create row['value'].merge(:_id => row['id']) end end def view_parameters {:include_docs => false}.merge(super) end private def properties options[:properties] end def properties_for_map(properties) '{' + properties.map{|p| "#{p}: doc.#{p}"}.join(', ') + '}' end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
langalex-couch_potato-0.2.3 | lib/couch_potato/view/properties_view_spec.rb |
langalex-couch_potato-0.2.4 | lib/couch_potato/view/properties_view_spec.rb |