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