Sha256: 18b6a6827c60a6182af4d5e488bc3afb11168a1a6a05e896f08aed59882a8b1d
Contents?: true
Size: 1.06 KB
Versions: 3
Compression:
Stored size: 1.06 KB
Contents
module Ridley # @author Jamie Winsor <reset@riotgames.com> class DataBagResource < Ridley::Resource require_relative 'data_bag_item_resource' set_resource_path "data" represented_by Ridley::DataBagObject attr_reader :item_resource finalizer :finalize_callback # @param [Celluloid::Registry] connection_registry # @param [String] data_bag_secret def initialize(connection_registry, data_bag_secret) super(connection_registry) @item_resource = DataBagItemResource.new_link(connection_registry, data_bag_secret) end # @param [String, #chef_id] object # # @return [nil, Ridley::DataBagResource] def find(object) chef_id = object.respond_to?(:chef_id) ? object.chef_id : object request(:get, "#{self.class.resource_path}/#{chef_id}") new(name: chef_id) rescue AbortError => ex return nil if ex.cause.is_a?(Errors::HTTPNotFound) abort(ex.cause) end private def finalize_callback item_resource.terminate if item_resource && item_resource.alive? end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ridley-1.0.0.rc2 | lib/ridley/resources/data_bag_resource.rb |
ridley-1.0.0.rc1 | lib/ridley/resources/data_bag_resource.rb |
ridley-0.12.4 | lib/ridley/resources/data_bag_resource.rb |