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.



7
8
9
10
11
12
13
14
# File 'lib/fake_braintree/redirect.rb', line 7

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.



5
6
7
# File 'lib/fake_braintree/redirect.rb', line 5

def id
  @id
end

Instance Method Details

#confirmObject



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fake_braintree/redirect.rb', line 20

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



16
17
18
# File 'lib/fake_braintree/redirect.rb', line 16

def url
  uri.to_s
end