Class: MercadoPagoApi::Token

Inherits:
Object
  • Object
show all
Defined in:
lib/mercado_pago_api/token.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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/mercado_pago_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_numberObject (readonly)

Returns the value of attribute card_number.



5
6
7
# File 'lib/mercado_pago_api/token.rb', line 5

def card_number
  @card_number
end

#cardholder_nameObject (readonly)

Returns the value of attribute cardholder_name.



5
6
7
# File 'lib/mercado_pago_api/token.rb', line 5

def cardholder_name
  @cardholder_name
end

#expiration_monthObject (readonly)

Returns the value of attribute expiration_month.



5
6
7
# File 'lib/mercado_pago_api/token.rb', line 5

def expiration_month
  @expiration_month
end

#expiration_yearObject (readonly)

Returns the value of attribute expiration_year.



5
6
7
# File 'lib/mercado_pago_api/token.rb', line 5

def expiration_year
  @expiration_year
end

#idObject (readonly)

Returns the value of attribute id.



5
6
7
# File 'lib/mercado_pago_api/token.rb', line 5

def id
  @id
end

#security_codeObject (readonly)

Returns the value of attribute security_code.



5
6
7
# File 'lib/mercado_pago_api/token.rb', line 5

def security_code
  @security_code
end

Class Method Details

.build_hash(response) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/mercado_pago_api/token.rb', line 32

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_jsonObject



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/mercado_pago_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

#createObject



27
28
29
30
# File 'lib/mercado_pago_api/token.rb', line 27

def create
  response = Client.new.create_token(JSON.dump(build_json))
  self.class.new(**self.class.build_hash(response))
end