Class: CouchDB::Design::ViewsProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/couchdb/design.rb

Overview

A proxy class for the views property.

Instance Method Summary collapse

Constructor Details

#initialize(design) ⇒ ViewsProxy

Returns a new instance of ViewsProxy.



43
44
45
46
# File 'lib/couchdb/design.rb', line 43

def initialize(design)
  @design = design
  @design["views"] = { }
end

Instance Method Details

#<<(view) ⇒ Object



48
49
50
# File 'lib/couchdb/design.rb', line 48

def <<(view)
  @design["views"].merge! view.to_hash
end

#[](name) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/couchdb/design.rb', line 52

def [](name)
  name = name.to_s
  views = @design["views"]
  return nil unless views.has_key?(name)
  map, reduce = views[name].values_at("map", "reduce")
  Design::View.new @design, name, map, reduce
end