Class: FakeBraintree::Redirect

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/fake_braintree/redirect.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#create_id, #gzip, #gzipped_response, #md5

Constructor Details

#initialize(params, merchant_id) ⇒ Redirect

Returns a new instance of Redirect.



13
14
15
16
17
18
19
20
# File 'lib/fake_braintree/redirect.rb', line 13

def initialize(params, merchant_id)
  hash, query = *params[:tr_data].split('|', 2)
  @transparent_data = Rack::Utils.parse_nested_query(query)
  @merchant_id = merchant_id
  @id = create_id(@merchant_id)
  @params = params
  @kind = @transparent_data['kind']
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



11
12
13
# File 'lib/fake_braintree/redirect.rb', line 11

def id
  @id
end

Instance Method Details

#confirmObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/fake_braintree/redirect.rb', line 26

def confirm
  if @kind == 'create_customer'
    Customer.new(@params['customer'], {merchant_id: @merchant_id}).create
  elsif @kind == 'create_payment_method'
    credit_card_options = {merchant_id: @merchant_id}
    credit_card_options.merge!(@transparent_data['credit_card'].fetch('options', {}))

    credit_card_options.symbolize_keys!
    CreditCard.new(@params['credit_card'].merge(@transparent_data['credit_card']), credit_card_options).create
  end
end

#urlObject



22
23
24
# File 'lib/fake_braintree/redirect.rb', line 22

def url
  uri.to_s
end