Sha256: 512e62277ad779493fe02872bca84a1cfa42d65adbe42e3103c8c190a8944b7f
Contents?: true
Size: 699 Bytes
Versions: 8
Compression:
Stored size: 699 Bytes
Contents
module ChefAPI module AclAble def acl_path resource_path + "/_acl" end def load_acl data = self.class.connection.get(acl_path) # make deep copy @orig_acl_data = Marshal.load(Marshal.dump(data)) data.freeze @acl = data end def acl unless @acl load_acl end @acl end def save! super if @acl != @orig_acl_data %w{create update grant read delete}.each { |action| if @acl[action] != @orig_acl_data[action] url = "#{acl_path}/#{action}" self.class.connection.put(url, { action => @acl[action] }.to_json) end } end end end end
Version data entries
8 entries across 8 versions & 2 rubygems