class SBF::Client::ErrorEntity

Constants

BAD_INPUT

Attributes

code[R]
details[R]
fields[R]
type[R]

Public Class Methods

new(data = {}) click to toggle source
Calls superclass method
# File lib/stbaldricks/entities/lib/error.rb, line 11
def initialize(data = {})
  super()

  # In case null was explicitly passed in
  data ||= {}

  # Set all attributes
  @code = data[:code].freeze
  @type = data[:type].freeze
  @details = data[:details].freeze
  @fields = Set.new(data[:errors].empty? ? [] : data[:errors]).freeze
end

Public Instance Methods

empty?() click to toggle source
# File lib/stbaldricks/entities/lib/error.rb, line 24
def empty?
  [@code, @type, @details].all?(&:nil?) && @fields.empty?
end
to_hash() click to toggle source
# File lib/stbaldricks/entities/lib/error.rb, line 28
def to_hash
  {code: @code, type: @type, details: @details, fields: @fields.to_a}
end
to_json(*a) click to toggle source
# File lib/stbaldricks/entities/lib/error.rb, line 32
def to_json(*a)
  to_hash.to_json(*a)
end
to_s() click to toggle source
# File lib/stbaldricks/entities/lib/error.rb, line 36
def to_s
  error_message = "#{@code} - [#{@type}] #{@details}"
  error_message << " details: #{@fields.to_a.join(', ')}" unless @fields.empty?
  error_message
end