Exception: Ridley::Errors::HTTPError

Inherits:
RidleyError
  • Object
show all
Defined in:
lib/ridley/errors.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ HTTPError

Returns a new instance of HTTPError.



96
97
98
99
100
101
102
103
104
105
106
# File 'lib/ridley/errors.rb', line 96

def initialize(env)
  @env = env
  @errors = env[:body].is_a?(Hash) ? Array(env[:body][:error]) : []

  if errors.empty?
    @message = env[:body] || "no content body"
  else
    @message = "errors: "
    @message << errors.collect { |e| "'#{e}'" }.join(', ')
  end
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



90
91
92
# File 'lib/ridley/errors.rb', line 90

def env
  @env
end

#errorsObject (readonly)

Returns the value of attribute errors.



91
92
93
# File 'lib/ridley/errors.rb', line 91

def errors
  @errors
end

#messageObject (readonly) Also known as: to_s

Returns the value of attribute message.



93
94
95
# File 'lib/ridley/errors.rb', line 93

def message
  @message
end

Class Method Details

.error_mapObject



85
86
87
# File 'lib/ridley/errors.rb', line 85

def error_map
  @@error_map ||= Hash.new
end

.fabricate(env) ⇒ Object



70
71
72
73
# File 'lib/ridley/errors.rb', line 70

def fabricate(env)
  klass = lookup_error(env[:status].to_i)
  klass.new(env)
end

.lookup_error(status) ⇒ Object



79
80
81
82
83
# File 'lib/ridley/errors.rb', line 79

def lookup_error(status)
  error_map.fetch(status.to_i)
rescue KeyError
  HTTPUnknownStatus
end

.register_error(status) ⇒ Object



75
76
77
# File 'lib/ridley/errors.rb', line 75

def register_error(status)
  error_map[status.to_i] = self
end