class Slipcover::Wrapper

Attributes

database_name[R]
view_dir[R]
view_name[R]

Public Class Methods

new(opts) click to toggle source
# File lib/slipcover/wrapper.rb, line 5
def initialize(opts)
  @database_name = opts[:database_name]
  @view_name = opts[:view_name]
  @view_dir = opts[:view_dir] || Slipcover::Config.view_dir
end

Public Instance Methods

database() click to toggle source
# File lib/slipcover/wrapper.rb, line 29
def database
  @database ||= Slipcover::Database.new("#{database_name}")
end
design_document() click to toggle source
# File lib/slipcover/wrapper.rb, line 25
def design_document
  @design_document ||= Slipcover::DesignDocument.new(database.name, view_dir)
end
lookup(opts={}) click to toggle source
# File lib/slipcover/wrapper.rb, line 11
def lookup(opts={})
  query.all(opts).map(&:attributes)
rescue Slipcover::HttpAdapter::DBNotFound
  database.create
  retry
rescue Slipcover::HttpAdapter::DocumentNotFound # no design document
  design_document.save
  retry
end
query() click to toggle source
# File lib/slipcover/wrapper.rb, line 21
def query
  @query ||= Slipcover::Query.new(design_document, view_name)
end