Class: Io::Flow::V0::Models::Card
- Inherits:
-
Object
- Object
- Io::Flow::V0::Models::Card
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Overview
Card represents the metadata about a secure, tokenized card. The card ‘token’ is a unique, cryptographically secure token by which this card can be identified in the future. The card token itself will either be a permanent card token (denoted by a prefix of F96) or a one time nonce (denoted by a prefix of F17). Nonces represent cards that were encrypted from public channels (like the user’s browser via JavaScript) and can be used once only. If you have a nonce you can exchange it for a permanent card token via the operation POST /:organization/cards/nonces
Instance Attribute Summary collapse
-
#address ⇒ Object
readonly
Returns the value of attribute address.
-
#expiration ⇒ Object
readonly
Returns the value of attribute expiration.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#iin ⇒ Object
readonly
Returns the value of attribute iin.
-
#last4 ⇒ Object
readonly
Returns the value of attribute last4.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#token ⇒ Object
readonly
Returns the value of attribute token.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
- #copy(incoming = {}) ⇒ Object
-
#initialize(incoming = {}) ⇒ Card
constructor
A new instance of Card.
- #to_hash ⇒ Object
- #to_json ⇒ Object
Constructor Details
#initialize(incoming = {}) ⇒ Card
Returns a new instance of Card.
10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10294 def initialize(incoming={}) opts = HttpClient::Helper.symbolize_keys(incoming) HttpClient::Preconditions.require_keys(opts, [:id, :token, :type, :expiration, :iin, :last4, :name], 'Card') @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String) @token = HttpClient::Preconditions.assert_class('token', opts.delete(:token), String) @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::CardType) ? x : ::Io::Flow::V0::Models::CardType.apply(x)) @expiration = (x = opts.delete(:expiration); x.is_a?(::Io::Flow::V0::Models::Expiration) ? x : ::Io::Flow::V0::Models::Expiration.new(x)) @iin = HttpClient::Preconditions.assert_class('iin', opts.delete(:iin), String) @last4 = HttpClient::Preconditions.assert_class('last4', opts.delete(:last4), String) @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String) @address = (x = opts.delete(:address); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x))) end |
Instance Attribute Details
#address ⇒ Object (readonly)
Returns the value of attribute address.
10292 10293 10294 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10292 def address @address end |
#expiration ⇒ Object (readonly)
Returns the value of attribute expiration.
10292 10293 10294 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10292 def expiration @expiration end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
10292 10293 10294 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10292 def id @id end |
#iin ⇒ Object (readonly)
Returns the value of attribute iin.
10292 10293 10294 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10292 def iin @iin end |
#last4 ⇒ Object (readonly)
Returns the value of attribute last4.
10292 10293 10294 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10292 def last4 @last4 end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
10292 10293 10294 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10292 def name @name end |
#token ⇒ Object (readonly)
Returns the value of attribute token.
10292 10293 10294 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10292 def token @token end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
10292 10293 10294 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10292 def type @type end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
10311 10312 10313 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10311 def copy(incoming={}) Card.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10315 def to_hash { :id => id, :token => token, :type => type.value, :expiration => expiration.to_hash, :iin => iin, :last4 => last4, :name => name, :address => address.nil? ? nil : address.to_hash } end |
#to_json ⇒ Object
10307 10308 10309 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 10307 def to_json JSON.dump(to_hash) end |