Class: Blinkbox::CreditCardServiceClient

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/blinkbox/user/credit_card_service_client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server_uri, proxy_uri = nil) ⇒ CreditCardServiceClient

Returns a new instance of CreditCardServiceClient.



10
11
12
13
14
15
# File 'lib/blinkbox/user/credit_card_service_client.rb', line 10

def initialize(server_uri, proxy_uri = nil)
  self.class.base_uri(server_uri.to_s)
  self.class.http_proxy(proxy_uri.host, proxy_uri.port, proxy_uri.user, proxy_uri.password) if proxy_uri
  self.class.debug_output($stderr) if ENV['DEBUG']
  @headers = {}
end

Instance Attribute Details

#headersObject

Returns the value of attribute headers.



8
9
10
# File 'lib/blinkbox/user/credit_card_service_client.rb', line 8

def headers
  @headers
end

Instance Method Details

#add_credit_card(access_token, card_details = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/blinkbox/user/credit_card_service_client.rb', line 22

def add_credit_card(access_token, card_details = {})
  response = nil
  10.times do
    response = http_post("/service/my/creditcards", card_details, access_token)
    break if response.successful?
  end
  fail 'Adding credit card failed' unless response.successful?

  #return details of the newly added card
  MultiJson.load(response.body)
end

#use_proxy(proxy_uri) ⇒ Object



17
18
19
20
# File 'lib/blinkbox/user/credit_card_service_client.rb', line 17

def use_proxy(proxy_uri)
  proxy_uri = URI.parse(proxy_uri) if proxy_uri.is_a?(String)
  self.class.http_proxy(proxy_uri.host, proxy_uri.port, proxy_uri.user, proxy_uri.password)
end