Class: MpApi::Token
- Inherits:
-
Object
- Object
- MpApi::Token
- Defined in:
- lib/mp_api/token.rb
Instance Attribute Summary collapse
-
#card_number ⇒ Object
readonly
Returns the value of attribute card_number.
-
#cardholder_name ⇒ Object
readonly
Returns the value of attribute cardholder_name.
-
#expiration_month ⇒ Object
readonly
Returns the value of attribute expiration_month.
-
#expiration_year ⇒ Object
readonly
Returns the value of attribute expiration_year.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#security_code ⇒ Object
readonly
Returns the value of attribute security_code.
Class Method Summary collapse
Instance Method Summary collapse
- #build_json ⇒ Object
- #create ⇒ Object
-
#initialize(card_number: nil, expiration_year: nil, expiration_month: nil, security_code: nil, cardholder_name: nil, id: nil) ⇒ Token
constructor
A new instance of Token.
Constructor Details
#initialize(card_number: nil, expiration_year: nil, expiration_month: nil, security_code: nil, cardholder_name: nil, id: nil) ⇒ Token
Returns a new instance of Token.
6 7 8 9 10 11 12 13 |
# File 'lib/mp_api/token.rb', line 6 def initialize(card_number:nil, expiration_year:nil, expiration_month:nil, security_code:nil, cardholder_name:nil, id:nil) @card_number = card_number @expiration_year = expiration_year @expiration_month = expiration_month @security_code = security_code @cardholder_name = cardholder_name @id = id end |
Instance Attribute Details
#card_number ⇒ Object (readonly)
Returns the value of attribute card_number.
5 6 7 |
# File 'lib/mp_api/token.rb', line 5 def card_number @card_number end |
#cardholder_name ⇒ Object (readonly)
Returns the value of attribute cardholder_name.
5 6 7 |
# File 'lib/mp_api/token.rb', line 5 def cardholder_name @cardholder_name end |
#expiration_month ⇒ Object (readonly)
Returns the value of attribute expiration_month.
5 6 7 |
# File 'lib/mp_api/token.rb', line 5 def expiration_month @expiration_month end |
#expiration_year ⇒ Object (readonly)
Returns the value of attribute expiration_year.
5 6 7 |
# File 'lib/mp_api/token.rb', line 5 def expiration_year @expiration_year end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
5 6 7 |
# File 'lib/mp_api/token.rb', line 5 def id @id end |
#security_code ⇒ Object (readonly)
Returns the value of attribute security_code.
5 6 7 |
# File 'lib/mp_api/token.rb', line 5 def security_code @security_code end |
Class Method Details
.build_hash(response) ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/mp_api/token.rb', line 36 def self.build_hash(response) { id: response['id'], expiration_year: response['expiration_year'], expiration_month: response['expiration_month'], cardholder_name: response['cardholder']['name'] } end |
Instance Method Details
#build_json ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/mp_api/token.rb', line 15 def build_json { card_number: card_number, expiration_year: expiration_year, expiration_month: expiration_month, security_code: security_code, cardholder: { name: cardholder_name } } end |
#create ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/mp_api/token.rb', line 27 def create begin response = Client.new.create_token(JSON.dump(build_json)) self.class.new(**self.class.build_hash(response)) rescue RuntimeError => e e. == 'Too many retries' ? raise(TooManyRequestsError) : raise(e) end end |