Class: Couchbase::View

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

Instance Method Summary collapse

Constructor Details

#initialize(design_doc, view, bucket) ⇒ View

Returns a new instance of View.



7
8
9
10
11
# File 'lib/couchbase/view.rb', line 7

def initialize(design_doc, view, bucket)
  @format = :json
  @bucket = bucket.bucket
  @view_query = ViewQuery.from(design_doc, view.to_s)
end

Instance Method Details

#end_key(key) ⇒ Object



28
29
30
31
# File 'lib/couchbase/view.rb', line 28

def end_key(key)
  @view_query.end_key(convert_key(key))
  self
end

#fetchObject



63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/couchbase/view.rb', line 63

def fetch
  results = @bucket.query(@view_query)
  {}.tap do |response|
    results.each do |view_row|
      if view_row.id.nil?
        # Reduced view
        return view_row.value
      else
        doc = view_row.document(RawJsonDocument.java_class)
        response[view_row.id] = doc.nil? ? nil : Document.new(doc)
      end
    end
  end
end

#freshObject



58
59
60
61
# File 'lib/couchbase/view.rb', line 58

def fresh
  @view_query.stale(com.couchbase.client.java.view.Stale::FALSE)
  self
end

#group(group = true) ⇒ Object



43
44
45
46
# File 'lib/couchbase/view.rb', line 43

def group(group = true)
  @view_query.group(group)
  self
end

#group_level(level) ⇒ Object



48
49
50
51
# File 'lib/couchbase/view.rb', line 48

def group_level(level)
  @view_query.group_level(level)
  self
end

#key(key) ⇒ Object



13
14
15
16
# File 'lib/couchbase/view.rb', line 13

def key(key)
  @view_query.key(convert_key(key))
  self
end

#keys(keys) ⇒ Object



18
19
20
21
# File 'lib/couchbase/view.rb', line 18

def keys(keys)
  @view_query.keys(JsonArray.from(keys.to_java))
  self
end

#limit(num) ⇒ Object



33
34
35
36
# File 'lib/couchbase/view.rb', line 33

def limit(num)
  @view_query.limit(num)
  self
end

#reduce(reduce = true) ⇒ Object



53
54
55
56
# File 'lib/couchbase/view.rb', line 53

def reduce(reduce = true)
  @view_query.reduce(reduce)
  self
end

#skip(num) ⇒ Object



38
39
40
41
# File 'lib/couchbase/view.rb', line 38

def skip(num)
  @view_query.skip(num)
  self
end

#start_key(key) ⇒ Object



23
24
25
26
# File 'lib/couchbase/view.rb', line 23

def start_key(key)
  @view_query.start_key(convert_key(key))
  self
end