Class: Braintree::GatewayRequest
- Inherits:
-
Object
- Object
- Braintree::GatewayRequest
- Defined in:
- app/models/braintree/gateway_request.rb
Instance Attribute Summary collapse
-
#amount ⇒ Object
Returns the value of attribute amount.
-
#customer_vault ⇒ Object
Returns the value of attribute customer_vault.
-
#customer_vault_id ⇒ Object
Returns the value of attribute customer_vault_id.
-
#hash ⇒ Object
readonly
Returns the value of attribute hash.
-
#key ⇒ Object
Returns the value of attribute key.
-
#key_id ⇒ Object
Returns the value of attribute key_id.
-
#orderid ⇒ Object
Returns the value of attribute orderid.
-
#response_url ⇒ Object
Returns the value of attribute response_url.
-
#time ⇒ Object
Returns the value of attribute time.
-
#type ⇒ Object
Returns the value of attribute type.
Class Method Summary collapse
Instance Method Summary collapse
- #hash_attributes ⇒ Object
-
#initialize(attributes = nil) ⇒ GatewayRequest
constructor
A new instance of GatewayRequest.
- #post(params) ⇒ Object
Constructor Details
#initialize(attributes = nil) ⇒ GatewayRequest
Returns a new instance of GatewayRequest.
8 9 10 11 12 |
# File 'app/models/braintree/gateway_request.rb', line 8 def initialize(attributes = nil) attributes.each { |k,v| self.send("#{k}=", v) } unless attributes.nil? self.key, self.key_id = BraintreeTransparentRedirectSlice.config[:key], BraintreeTransparentRedirectSlice.config[:key_id] self.time = self.class.formatted_time_value end |
Instance Attribute Details
#amount ⇒ Object
Returns the value of attribute amount.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def amount @amount end |
#customer_vault ⇒ Object
Returns the value of attribute customer_vault.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def customer_vault @customer_vault end |
#customer_vault_id ⇒ Object
Returns the value of attribute customer_vault_id.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def customer_vault_id @customer_vault_id end |
#hash ⇒ Object (readonly)
Returns the value of attribute hash.
6 7 8 |
# File 'app/models/braintree/gateway_request.rb', line 6 def hash @hash end |
#key ⇒ Object
Returns the value of attribute key.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def key @key end |
#key_id ⇒ Object
Returns the value of attribute key_id.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def key_id @key_id end |
#orderid ⇒ Object
Returns the value of attribute orderid.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def orderid @orderid end |
#response_url ⇒ Object
Returns the value of attribute response_url.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def response_url @response_url end |
#time ⇒ Object
Returns the value of attribute time.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def time @time end |
#type ⇒ Object
Returns the value of attribute type.
3 4 5 |
# File 'app/models/braintree/gateway_request.rb', line 3 def type @type end |
Class Method Details
.formatted_time_value ⇒ Object
23 24 25 |
# File 'app/models/braintree/gateway_request.rb', line 23 def self.formatted_time_value Time.now.getutc.strftime("%Y%m%d%H%M%S") end |
Instance Method Details
#hash_attributes ⇒ Object
27 28 29 30 |
# File 'app/models/braintree/gateway_request.rb', line 27 def hash_attributes { 'orderid' => orderid, 'amount' => amount, 'key_id' => key_id, 'time' => time, 'hash' => hash, 'customer_vault_id' => customer_vault_id } end |
#post(params) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/models/braintree/gateway_request.rb', line 32 def post(params) uri = Addressable::URI.parse(BraintreeTransparentRedirectSlice.config[:transact_api_url]) server = Net::HTTP.new(uri.host, 443) server.use_ssl = true server.read_timeout = 20 server.verify_mode = OpenSSL::SSL::VERIFY_NONE resp = server.start do |http| req = Net::HTTP::Post.new(uri.path) req.set_form_data(hash_attributes.merge(params)) http.request(req) end case resp when Net::HTTPRedirection Addressable::URI.parse(resp.header['Location']) when Net::HTTPSuccess resp else resp.error! end end |