Class: CouchPotato::View::ViewQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/couch_potato/view/view_query.rb

Overview

Used to query views (and create them if they don't exist). Usually you won't have to use this class directly. Instead it is used internally by the CouchPotato::Database.view method.

Instance Method Summary (collapse)

Constructor Details

- (ViewQuery) initialize(couchrest_database, design_document_name, view, list = nil, language = :javascript)

A new instance of ViewQuery



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/couch_potato/view/view_query.rb', line 5

def initialize(couchrest_database, design_document_name, view, list = nil, language = :javascript)
  @database = couchrest_database
  @design_document_name = design_document_name
  @view_name = view.keys[0]
  @map_function = view.values[0][:map]
  @reduce_function = view.values[0][:reduce]
  @language = language
  if list
    @list_function = list.values[0]
    @list_name = list.keys[0]
  end
end

Instance Method Details

- (Object) query_view!(parameters = {})



18
19
20
21
22
23
24
25
26
# File 'lib/couch_potato/view/view_query.rb', line 18

def query_view!(parameters = {})
  update_view unless view_has_been_updated?
  begin
    query_view parameters
  rescue RestClient::ResourceNotFound
    update_view
    retry
  end
end