Class: Slipcover::Wrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/slipcover/wrapper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts) ⇒ Wrapper

Returns a new instance of Wrapper.



5
6
7
8
9
# 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

Instance Attribute Details

#database_nameObject (readonly)

Returns the value of attribute database_name.



3
4
5
# File 'lib/slipcover/wrapper.rb', line 3

def database_name
  @database_name
end

#view_dirObject (readonly)

Returns the value of attribute view_dir.



3
4
5
# File 'lib/slipcover/wrapper.rb', line 3

def view_dir
  @view_dir
end

#view_nameObject (readonly)

Returns the value of attribute view_name.



3
4
5
# File 'lib/slipcover/wrapper.rb', line 3

def view_name
  @view_name
end

Instance Method Details

#databaseObject



29
30
31
# File 'lib/slipcover/wrapper.rb', line 29

def database
  @database ||= Slipcover::Database.new("#{database_name}")
end

#design_documentObject



25
26
27
# File 'lib/slipcover/wrapper.rb', line 25

def design_document
  @design_document ||= Slipcover::DesignDocument.new(database.name, view_dir)
end

#lookup(opts = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
# 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

#queryObject



21
22
23
# File 'lib/slipcover/wrapper.rb', line 21

def query
  @query ||= Slipcover::Query.new(design_document, view_name)
end