Class: Io::Flow::V0::Models::CardError

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Details for why a card was declined

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ CardError

Returns a new instance of CardError.



10319
10320
10321
10322
10323
10324
10325
10326
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10319

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:code, :messages], 'CardError')
  @code = (x = opts.delete(:code); x.is_a?(::Io::Flow::V0::Models::CardErrorCode) ? x : ::Io::Flow::V0::Models::CardErrorCode.apply(x))
  @messages = HttpClient::Preconditions.assert_class('messages', opts.delete(:messages), Array).map { |v| HttpClient::Preconditions.assert_class('messages', v, String) }
  @avs = (x = opts.delete(:avs); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Avs) ? x : ::Io::Flow::V0::Models::Avs.new(x)))
  @cvv = (x = opts.delete(:cvv); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Cvv) ? x : ::Io::Flow::V0::Models::Cvv.new(x)))
end

Instance Attribute Details

#avs ⇒ Object (readonly)

Returns the value of attribute avs.



10317
10318
10319
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10317

def avs
  @avs
end

#code ⇒ Object (readonly)

Returns the value of attribute code.



10317
10318
10319
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10317

def code
  @code
end

#cvv ⇒ Object (readonly)

Returns the value of attribute cvv.



10317
10318
10319
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10317

def cvv
  @cvv
end

#messages ⇒ Object (readonly)

Returns the value of attribute messages.



10317
10318
10319
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10317

def messages
  @messages
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



10332
10333
10334
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10332

def copy(incoming={})
  CardError.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#to_hash ⇒ Object



10336
10337
10338
10339
10340
10341
10342
10343
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10336

def to_hash
  {
    :code => code.value,
    :messages => messages,
    :avs => avs.nil? ? nil : avs.to_hash,
    :cvv => cvv.nil? ? nil : cvv.to_hash
  }
end

#to_json ⇒ Object



10328
10329
10330
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10328

def to_json
  JSON.dump(to_hash)
end