class Blinkbox::CreditCardServiceClient
Attributes
headers[RW]
Public Class Methods
new(server_uri, proxy_uri = nil)
click to toggle source
# 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
Public Instance Methods
add_credit_card(access_token, card_details = {})
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
http_post(uri, body, access_token = nil)
click to toggle source
# File lib/blinkbox/user/credit_card_service_client.rb, line 36 def http_post(uri, body, access_token = nil) http_send(:post, uri, body, access_token) end
http_send(verb, uri, post_body, access_token = nil)
click to toggle source
# File lib/blinkbox/user/credit_card_service_client.rb, line 40 def http_send(verb, uri, post_body, access_token = nil) headers = { "Content-Type" => "application/vnd.blinkboxbooks.data.v1+json" }.merge(@headers) headers["Authorization"] = "Bearer #{access_token}" if access_token self.class.send(verb, uri.to_s, headers: headers, body: post_body.to_json) HttpCapture::RESPONSES.last end