class ChefAPI::Resource::DataBagItemCollectionProxy

The mutable collection is a special kind of collection proxy that permits Rails-like attribtue creation, like:

DataBag.first.items.create(id: 'me', thing: 'bar', zip: 'zap')

Public Class Methods

new(bag) click to toggle source
Calls superclass method ChefAPI::Resource::CollectionProxy.new
# File lib/chef-api/resources/data_bag.rb, line 88
def initialize(bag)
  # Delegate to the superclass
  super(bag, Resource::DataBagItem, nil, bag: bag.name)
end

Public Instance Methods

build(data = {}) click to toggle source

@see klass.build

# File lib/chef-api/resources/data_bag.rb, line 113
def build(data = {})
  klass.build(data, prefix)
end
create(data = {}) click to toggle source

@see klass.create

# File lib/chef-api/resources/data_bag.rb, line 118
def create(data = {})
  klass.create(data, prefix)
ensure
  reload!
end
create!(data = {}) click to toggle source

@see klass.create!

# File lib/chef-api/resources/data_bag.rb, line 125
def create!(data = {})
  klass.create!(data, prefix)
ensure
  reload!
end
destroy(id) click to toggle source

@see klass.destroy

# File lib/chef-api/resources/data_bag.rb, line 99
def destroy(id)
  klass.destroy(id, prefix)
ensure
  reload!
end
destroy_all() click to toggle source

@see klass.destroy_all

# File lib/chef-api/resources/data_bag.rb, line 106
def destroy_all
  klass.destroy_all(prefix)
ensure
  reload!
end
new(data = {}) click to toggle source

@see klass.new

# File lib/chef-api/resources/data_bag.rb, line 94
def new(data = {})
  klass.new(data, prefix, parent)
end
update(id, data = {}) click to toggle source

@see klass.update

# File lib/chef-api/resources/data_bag.rb, line 132
def update(id, data = {})
  klass.update(id, data, prefix)
end