Sha256: 0bf54c4ebcc9ffbd3474dcec96d7b7eecbfe2cbb51f54db7a6781060a5310636

Contents?: true

Size: 672 Bytes

Versions: 1

Compression:

Stored size: 672 Bytes

Contents

module CurrencyCloud
  class UnexpectedError < StandardError
    include ErrorUtils

    attr_reader :inner_error

    def initialize(verb, route, params, e)
      @verb = verb
      @route = route
      @params = params
      @inner_error = e
    end

    def to_s
      class_name = super

      string_params = Hash[@params.map { |k, v| [k.to_s, v.to_s] }]

      error_details = {
        'platform' => platform,
        'request' => {
          'parameters' => string_params,
          'verb' => @verb.to_s,
          'url' => @route
        },
        'inner_error' => inner_error.to_s
      }
      "#{class_name}#{$/}#{YAML.dump(error_details)}"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
currency_cloud-0.8.0 lib/currency_cloud/errors/unexpected_error.rb