rack-payment 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/rack-payment/billing_address.rb +18 -1
- data/lib/rack-payment/helper.rb +7 -4
- data/lib/rack-payment/request.rb +2 -1
- metadata +2 -2
@@ -13,17 +13,34 @@ module Rack #:nodoc:
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def partially_filled_out?
|
16
|
-
%w( name address1 city state zip
|
16
|
+
%w( name address1 city state zip ).each do |field|
|
17
17
|
return true unless send(field).nil?
|
18
18
|
end
|
19
19
|
|
20
20
|
return false
|
21
21
|
end
|
22
22
|
|
23
|
+
# defaults to 'US'
|
24
|
+
def country
|
25
|
+
@country ||= 'US'
|
26
|
+
end
|
27
|
+
|
23
28
|
# Aliases
|
24
29
|
|
25
30
|
def street() address1 end
|
26
31
|
def street=(value) self.address1=(value) end
|
32
|
+
|
33
|
+
# Returns a hash that can be passed to a Gateway#authorize call
|
34
|
+
def active_merchant_hash
|
35
|
+
{
|
36
|
+
:name => name,
|
37
|
+
:address1 => street,
|
38
|
+
:city => city,
|
39
|
+
:state => state,
|
40
|
+
:country => country,
|
41
|
+
:zip => zip
|
42
|
+
}
|
43
|
+
end
|
27
44
|
end
|
28
45
|
|
29
46
|
end
|
data/lib/rack-payment/helper.rb
CHANGED
@@ -135,7 +135,7 @@ module Rack #:nodoc:
|
|
135
135
|
# TODO should pass :billing_address, if the billing address isn't empty.
|
136
136
|
# fields: name, address1, city, state, country, zip.
|
137
137
|
# Some gateways (eg. PayPal Pro) require a billing_address!
|
138
|
-
self.raw_authorize_response = gateway.authorize amount_in_cents, credit_card.active_merchant_card, :ip => options[:ip]
|
138
|
+
self.raw_authorize_response = gateway.authorize amount_in_cents, credit_card.active_merchant_card, :ip => options[:ip], :billing_address => billing_address.active_merchant_hash
|
139
139
|
unless raw_authorize_response.success?
|
140
140
|
errors << raw_authorize_response.message
|
141
141
|
log_authorize_unsuccessful(transaction_id, options)
|
@@ -175,12 +175,15 @@ module Rack #:nodoc:
|
|
175
175
|
# By default, the form will POST to the current URL (action='')
|
176
176
|
#
|
177
177
|
# You can pass a different URL for the form action
|
178
|
-
def form post_to = ''
|
179
|
-
css = ::File.dirname(__FILE__) + '/views/credit-card-and-billing-info-form.css'
|
178
|
+
def form post_to = '', options = nil
|
180
179
|
view = ::File.dirname(__FILE__) + '/views/credit-card-and-billing-info-form.html.erb'
|
181
180
|
erb = ::File.read view
|
181
|
+
html = ''
|
182
|
+
|
183
|
+
if options and options[:inline_css]
|
184
|
+
html << "<style type='text/css'>\n#{ options[:inline_css] }\n</style>"
|
185
|
+
end
|
182
186
|
|
183
|
-
html = "<style type='text/css'>\n#{ ::File.read(css) }\n</style>"
|
184
187
|
html << ERB.new(erb).result(binding)
|
185
188
|
end
|
186
189
|
|
data/lib/rack-payment/request.rb
CHANGED
@@ -202,7 +202,8 @@ module Rack #:nodoc:
|
|
202
202
|
end
|
203
203
|
|
204
204
|
def credit_card_and_billing_info_response
|
205
|
-
|
205
|
+
css_file = ::File.dirname(__FILE__) + '/views/credit-card-and-billing-info-form.css'
|
206
|
+
form_html = payment.form built_in_form_path, :inline_css => ::File.read(css_file)
|
206
207
|
layout = ::File.dirname(__FILE__) + '/views/layout.html'
|
207
208
|
html = ::File.read(layout)
|
208
209
|
html = html.sub 'CONTENT', form_html
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-payment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- remi
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-27 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|