class ChefCLI::Policyfile::ComparisonBase::PolicyGroup

Attributes

group[R]
http_client[R]
policy_name[R]

Public Class Methods

new(group, policy_name, http_client) click to toggle source
# File lib/chef-cli/policyfile/comparison_base.rb, line 102
def initialize(group, policy_name, http_client)
  @group = group
  @policy_name = policy_name
  @http_client = http_client
end

Public Instance Methods

lock() click to toggle source
# File lib/chef-cli/policyfile/comparison_base.rb, line 112
def lock
  http_client.get("policy_groups/#{group}/policies/#{policy_name}")
rescue Net::ProtocolError => e
  if e.respond_to?(:response) && e.response.code.to_s == "404"
    raise PolicyfileDownloadError.new("No Policyfile lock named '#{policy_name}' found in policy_group '#{group}' at #{http_client.url}", e)
  else
    raise PolicyfileDownloadError.new("HTTP error attempting to fetch Policyfile lock from #{http_client.url}", e)
  end
rescue => e
  raise PolicyfileDownloadError.new("Failed to fetch Policyfile lock from #{http_client.url}", e)
end
name() click to toggle source
# File lib/chef-cli/policyfile/comparison_base.rb, line 108
def name
  "policy_group:#{group}"
end