module CouchrestViews
Constants
- DefineViews
Public Instance Methods
call_view(field_name, moab_data, namespace_key, user_datastore_location, match_key, view_name = nil)
click to toggle source
# File lib/glue_envs/couchrest_glue_env.rb, line 139 def call_view(field_name, moab_data, namespace_key, user_datastore_location, match_key, view_name = nil) db = moab_data[:db] design_doc = moab_data[:design_doc] set_view_value_match(db, design_doc, namespace_key, user_datastore_location, field_name) view_name = view_name || "by_#{field_name}" raw_results = design_doc.view view_name, :key => match_key rows = raw_results["rows"] records = rows.map{|r| r["value"]} end
set_view_value_match(db, design_doc, namespace_key, user_datastore_location, field_name)
click to toggle source
# File lib/glue_envs/couchrest_glue_env.rb, line 133 def set_view_value_match(db, design_doc, namespace_key, user_datastore_location, field_name) map_function = { :map => view_map(namespace_key, user_datastore_location, field_name) } CouchRestViews.set_view(db, design_doc, field_name, map_function) end
view_map(namespace_label, datastore_location, field_name)
click to toggle source
# File lib/glue_envs/couchrest_glue_env.rb, line 125 def view_map(namespace_label, datastore_location, field_name) "function(doc) { if (doc.#{namespace_label} =='#{user_datastore_location}' && doc.#{field_name} ){ emit(doc.#{field_name}, doc); } }" end