Sha256: dee0c785188debb8fd9cdf35197934968c609e7afdd91032d3ec812d3f45f0f4

Contents?: true

Size: 676 Bytes

Versions: 3

Compression:

Stored size: 676 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

3 entries across 3 versions & 1 rubygems

Version Path
currency_cloud-0.7.2 lib/currency_cloud/errors/unexpected_error.rb
currency_cloud-0.7.1 lib/currency_cloud/errors/unexpected_error.rb
currency_cloud-0.7 lib/currency_cloud/errors/unexpected_error.rb