Class: ChangeHealth::Response::Error

Inherits:
Object
  • Object
show all
Defined in:
lib/change_health/response/error.rb

Constant Summary collapse

SIMPLE_RETRY_CODES =
%w[
  42
  80
].freeze
NO_RESUBMIT_MESSAGES =
[
  'resubmission not allowed',
  'do not resubmit'
].freeze
DOWN_FIELD =
'Http Header'
DOWN_MESSAGE =
'Please review http headers for this API, please contact support if you are unsure how to resolve.'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Error

Returns a new instance of Error.



22
23
24
# File 'lib/change_health/response/error.rb', line 22

def initialize(data)
  @data = data
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



6
7
8
# File 'lib/change_health/response/error.rb', line 6

def data
  @data
end

Instance Method Details

#code_messageObject



34
35
36
# File 'lib/change_health/response/error.rb', line 34

def code_message
  "#{code}: #{description}" if code?
end

#field_messageObject



30
31
32
# File 'lib/change_health/response/error.rb', line 30

def field_message
  "#{field}: #{description}" if field?
end

#messageObject



26
27
28
# File 'lib/change_health/response/error.rb', line 26

def message
  field_message || code_message || description || @data.to_s
end

#represents_down?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/change_health/response/error.rb', line 38

def represents_down?
  field == DOWN_FIELD && description == DOWN_MESSAGE
end

#retryable?Boolean

Returns:

  • (Boolean)


42
43
44
45
# File 'lib/change_health/response/error.rb', line 42

def retryable?
  represents_down? ||
    (code? && SIMPLE_RETRY_CODES.include?(code) && can_follow_up?)
end