Exception: TrailerVote::Api::ErrorsResponse

Inherits:
Error
  • Object
show all
Defined in:
lib/trailer_vote/api/errors.rb

Direct Known Subclasses

ClientError, ServerError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(result) ⇒ ErrorsResponse

Returns a new instance of ErrorsResponse.



45
46
47
48
# File 'lib/trailer_vote/api/errors.rb', line 45

def initialize(result)
  self.result = result
  super messages
end

Instance Attribute Details

#resultObject

Returns the value of attribute result.



43
44
45
# File 'lib/trailer_vote/api/errors.rb', line 43

def result
  @result
end

Instance Method Details

#dataObject



54
55
56
57
58
59
# File 'lib/trailer_vote/api/errors.rb', line 54

def data
  @data ||= TrailerVote::Api.decode(result)
rescue DecodeError, UnknownMediaType
  # noinspection RubyStringKeysInHashInspection
  @data = { errors: [{ message: result.status.reason }] }
end

#inspectObject Also known as: to_s



65
66
67
# File 'lib/trailer_vote/api/errors.rb', line 65

def inspect
  format('[%<status>s] %<klazz>s' + "\n" + '%<messages>s', status: status, klazz: self.class.name, messages: messages)
end

#messagesObject



50
51
52
# File 'lib/trailer_vote/api/errors.rb', line 50

def messages
  Array(formatted_data[:errors]).map { |error| error[:message] }.join(', ')
end

#statusObject Also known as: to_i



61
62
63
# File 'lib/trailer_vote/api/errors.rb', line 61

def status
  result.status.to_i
end