class Orchestrator_api::Error
Public Class Methods
make_error_from_response(res)
click to toggle source
# File lib/orchestrator_api/error.rb, line 11 def self.make_error_from_response(res) begin data = JSON.parse(res.body) rescue return EndpointError.new("An unspecified error has occurred with the Orchestrator API") end code = res.code case data['kind'] when 'puppetlabs.validators/validation-error' ValidationError.new(data, code) when 'puppetlabs.orchestrator/unknown-job' UnknownJob.new(data, code) when 'puppetlabs.orchestrator/unknown-environment' UnknownEnvironment.new(data, code) when 'puppetlabs.orchestrator/empty-environment' EmptyEnvironment.new(data, code) when 'puppetlabs.orchestrator/empty-target' EmptyTarget.new(data, code) when 'puppetlabs.orchestrator/dependency-cycle' DependencyCycle.new(data, code) when 'puppetlabs.orchestrator/puppetdb-error' PuppetdbError.new(data, code) when 'puppetlabs.orchestrator/query-error' QueryError.new(data, code) when 'puppetlabs.orchestrator/unknown-error' UnknownError.new(data, code) when 'puppetlabs.orchestrator/not-permitted' UnauthorizedError.new(data, code) else EndpointError.new("An unspecified error has occurred with the Orchestrator API") end end
new(data,code)
click to toggle source
Calls superclass method
# File lib/orchestrator_api/error.rb, line 4 def initialize(data,code) @code = code @kind = data['kind'] @details = data['details'] super(data['msg']) end