Class: CouchPotato::View::FlexViewSpec::Results

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_results) ⇒ Results

Returns a new instance of Results.



44
45
46
# File 'lib/couch_potato/view/flex_view_spec.rb', line 44

def initialize(raw_results)
  @raw_results = raw_results
end

Instance Attribute Details

#databaseObject

set by database



42
43
44
# File 'lib/couch_potato/view/flex_view_spec.rb', line 42

def database
  @database
end

Instance Method Details

#docsObject



75
76
77
78
79
80
81
# File 'lib/couch_potato/view/flex_view_spec.rb', line 75

def docs
  rows.map do |row|
    doc = row['doc']
    doc.database = database if doc.respond_to?(:database=)
    doc
  end
end

#idsObject



52
53
54
# File 'lib/couch_potato/view/flex_view_spec.rb', line 52

def ids
  rows.map { |row| row['id'] }
end

#keysObject



56
57
58
# File 'lib/couch_potato/view/flex_view_spec.rb', line 56

def keys
  rows.map { |row| row['key'] }
end

#rawObject



48
49
50
# File 'lib/couch_potato/view/flex_view_spec.rb', line 48

def raw
  @raw_results
end

#reduce_countObject

returns a count from a CouchDB reduce. returns 0 when the result set is empty (which would result in ‘nil` when calling #reduce_value). you still have to pass reduce=true to the view call.



71
72
73
# File 'lib/couch_potato/view/flex_view_spec.rb', line 71

def reduce_count
  reduce_value || 0
end

#reduce_valueObject



64
65
66
# File 'lib/couch_potato/view/flex_view_spec.rb', line 64

def reduce_value
  rows.dig(0, 'value')
end

#rowsObject



83
84
85
# File 'lib/couch_potato/view/flex_view_spec.rb', line 83

def rows
  @raw_results['rows']
end

#valuesObject



60
61
62
# File 'lib/couch_potato/view/flex_view_spec.rb', line 60

def values
  rows.map { |row| row['value'] }
end