wepay-rails 0.1.116 → 0.2.0
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/README.rdoc +34 -151
- data/VERSION +1 -1
- data/lib/generators/wepay_rails/install/install_generator.rb +25 -0
- data/lib/generators/wepay_rails/install/templates/create_wepay_checkout_records.rb +39 -0
- data/lib/generators/wepay_rails/install/templates/wepay.yml +23 -0
- data/lib/generators/wepay_rails/install/templates/wepay_checkout_record.rb +2 -0
- data/lib/helpers/controller_helpers.rb +16 -2
- data/wepay-rails.gemspec +6 -2
- metadata +17 -13
data/README.rdoc
CHANGED
@@ -15,76 +15,30 @@ Your migration:
|
|
15
15
|
|
16
16
|
add_column :my_model, :wepay_auth_code, :string
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
wepay-rails gem and modify it to your needs. In a future release, the copy will happen via a generator. For now, please
|
22
|
-
manually copy it over.
|
23
|
-
|
24
|
-
Snippet of wepay.yml showing the auth_code_location directive:
|
18
|
+
You need to also create a new model called WepayCheckoutRecord. It will be updated by wepay's IPN system as changes to the checkout change - such as the status.
|
19
|
+
Wepay-rails handles those IPN notifications for you. You can write observers watching the WepayCheckoutRecord model if you need to have
|
20
|
+
something specific occur when the checkout changes.
|
25
21
|
|
26
|
-
|
27
|
-
auth_code_location: MyModel.wepay_auth_code
|
22
|
+
To create your WepayCheckoutRecord model and migration:
|
28
23
|
|
29
|
-
|
24
|
+
script/rails g wepay_rails:install
|
30
25
|
|
31
|
-
|
32
|
-
wepayable
|
33
|
-
end
|
26
|
+
This will create 3 files for you, a migration file for a table to hold the checkout results, the model and a wepay.yml.example file. Next run:
|
34
27
|
|
35
|
-
|
28
|
+
rake db:migrate
|
36
29
|
|
37
|
-
|
38
|
-
Wepay-rails handles those IPN notifications for you. You can write observers watching the WepayCheckoutRecord model if you need to have
|
39
|
-
something specific occur when the checkout changes. In future versions, I'll include a generator - but for now, here's the migration to use:
|
40
|
-
|
41
|
-
class CreateWepayCheckoutRecords < ActiveRecord::Migration
|
42
|
-
def self.up
|
43
|
-
|
44
|
-
create_table :wepay_checkout_records do |t|
|
45
|
-
t.integer :checkout_id
|
46
|
-
t.integer :account_id
|
47
|
-
t.string :auth_code
|
48
|
-
t.string :state
|
49
|
-
t.string :short_description
|
50
|
-
t.text :long_description
|
51
|
-
t.string :currency
|
52
|
-
t.decimal :amount
|
53
|
-
t.decimal :app_fee
|
54
|
-
t.string :fee_payer
|
55
|
-
t.decimal :gross
|
56
|
-
t.decimal :fee
|
57
|
-
t.string :reference_id
|
58
|
-
t.text :redirect_uri
|
59
|
-
t.text :callback_uri
|
60
|
-
t.text :checkout_uri
|
61
|
-
t.string :payer_email
|
62
|
-
t.string :payer_name
|
63
|
-
t.text :cancel_reason
|
64
|
-
t.text :refund_reason
|
65
|
-
t.boolean :auto_capture
|
66
|
-
t.boolean :require_shipping
|
67
|
-
t.text :shipping_address
|
68
|
-
t.decimal :tax
|
69
|
-
|
70
|
-
t.timestamps
|
71
|
-
end
|
72
|
-
|
73
|
-
add_index :wepay_checkout_records, :checkout_id
|
74
|
-
end
|
30
|
+
Modify config/wepay.yml.example to your needs. You will need to set the model and column where you are storing your wepay auth code:
|
75
31
|
|
76
|
-
|
77
|
-
drop_table :wepay_checkout_records
|
78
|
-
end
|
79
|
-
end
|
32
|
+
Snippet of wepay.yml showing the auth_code_location directive:
|
80
33
|
|
34
|
+
production:
|
35
|
+
auth_code_location: MyModel.wepay_auth_code
|
81
36
|
|
82
|
-
You will have to set up a few new controllers to handle callbacks and redirects from wepay
|
37
|
+
You will have to set up a few new controllers in your rails app to handle callbacks and redirects from wepay.
|
83
38
|
I created one called finalize_controller and I use it for a landing page when the customer is finished paying
|
84
|
-
their order. The other controller I created is a checkout_controller -
|
85
|
-
|
86
|
-
|
87
|
-
For now, here's how to handle it...
|
39
|
+
their order. The other controller I created is a checkout_controller - I send my customers to it when they click checkout
|
40
|
+
in the cart. Your app is surely differnt than mine. Do what makes sense to you.
|
41
|
+
For now, here's what I am doing in my rails app to handle it...
|
88
42
|
|
89
43
|
app
|
90
44
|
|_ controllers
|
@@ -102,7 +56,7 @@ you can create an IpnController in your rails app.
|
|
102
56
|
end
|
103
57
|
end
|
104
58
|
|
105
|
-
wepay.yml will also need these directives. See the
|
59
|
+
wepay.yml will also need these directives. See the wepay.yml.example file in config.
|
106
60
|
|
107
61
|
When you include WepayRails::Payments, you get the controller actions you need. For instance, initialize_wepay_access_token(auth_code)
|
108
62
|
which completes the Oauth2 handshake with Wepay and get's the access token for future comunications with Wepay.
|
@@ -113,40 +67,28 @@ Finally, your checkout controller (or some controller that will interact with th
|
|
113
67
|
before_filter :authenticate_account! # I am using devise - this line depends on your authentication scheme
|
114
68
|
|
115
69
|
# PLEASE READ
|
116
|
-
# Notes: (By the way, I am looking into putting most of this heavy lifting into the actual wepay-rails gem
|
117
|
-
# it's self - stay tuned for that)
|
118
70
|
# I am saving the wepay_auth_code in my Profile model. Somewhere in my rails app, I have a method called
|
119
|
-
# current_profile which I use to return the Profile object of my user
|
120
|
-
#
|
71
|
+
# current_profile which I use to return the Profile object of my user. I pass that object through the
|
72
|
+
# init_checkout_and_send_user_to_wepay method along with my checkout parameters.
|
121
73
|
|
122
|
-
#
|
123
|
-
# Step 1: check and see if we have saved a wepay_auth_code for the customer. If not, redirect them to wepay to get one
|
124
|
-
# Step 2: check to see if we have a wepay access token to use for Oauth Communications. If not, go get one
|
125
|
-
# Step 3: now do a checkout using the method init_checkout_and_send_user_to_wepay. When they are done paying you, they will be redirected
|
74
|
+
# After the customer is sent to wepay, when they are done paying you, they will be redirected
|
126
75
|
# back to your application - you will set the location they will be redirected back to using the redirect_uri directive
|
127
76
|
# either here - or in wepay.yml. Using it here overrides wepay.yml.
|
128
77
|
|
129
78
|
def index
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
init_checkout_and_send_user_to_wepay(checkout_params) # Send the customer to wepay to finish payment
|
144
|
-
else
|
145
|
-
initialize_wepay_access_token(current_profile.wepay_auth_code) # No access token - so go get one
|
146
|
-
end
|
147
|
-
else
|
148
|
-
redirect_to_wepay_for_auth(current_profile) # Customer doesn't have an auth code yet from Wepay - so go get one
|
149
|
-
end
|
79
|
+
|
80
|
+
cart = current_account.cart # EXAMPLE - get my shopping cart
|
81
|
+
tx_id = cart.transaction_id # EXAMPLE - I use a column in my cart to have a way to look up the cart upon the user's return from wepay
|
82
|
+
|
83
|
+
checkout_params = {
|
84
|
+
:amount => cart.grand_total,
|
85
|
+
:short_description => cart.short_description,
|
86
|
+
:long_description => cart.long_description,
|
87
|
+
:redirect_uri => purchase_finalize_index_url(:txID => tx_id) # Wepay redirects the user back to this url after purchase
|
88
|
+
}
|
89
|
+
|
90
|
+
# Finally, send the user off to wepay so you can get paid! - CASH MONEY
|
91
|
+
init_checkout_and_send_user_to_wepay(checkout_params, current_profile)
|
150
92
|
end
|
151
93
|
end
|
152
94
|
|
@@ -170,68 +112,9 @@ Example Routes for these:
|
|
170
112
|
resources :finalize, :only => [:index]
|
171
113
|
end
|
172
114
|
|
173
|
-
First, we check to see if we have saved the auth code for the user, if so, we next need to see if we have an Oauth2 access token.
|
174
|
-
If not, we can initialize the access token. If it is there, go ahead and make an api call - the example above initiates a checkout.
|
175
115
|
|
176
|
-
|
177
|
-
|
178
|
-
client_id: <your client_id from wepay>
|
179
|
-
client_secret: <your client_secret from wepay>
|
180
|
-
auth_code_location: MyModel.wepay_auth_code
|
181
|
-
redirect_uri: "http://www.example.com/wepay/authorize"
|
182
|
-
after_authorize_redirect_uri: "http://www.example.com/purchase/checkout"
|
183
|
-
scope: ['refund_payments','collect_payments','view_balance','view_user']
|
184
|
-
#wepay_api_uri: "https://api.wepay.com"
|
185
|
-
wepay_api_uri: "https://stage.wepay.com"
|
186
|
-
wepay_api_version: "v2"
|
187
|
-
ipn_callback_uri: "http://www.example.com/wepay/ipn"
|
188
|
-
checkout_redirect_uri: "http://www.example.com/purchase/finalize"
|
189
|
-
fee_payer: Payee
|
190
|
-
checkout_type: GOODS
|
191
|
-
charge_tax: false
|
192
|
-
app_fee: 0
|
193
|
-
auto_capture: true
|
194
|
-
require_shipping: false
|
195
|
-
shipping_fee: 0
|
196
|
-
charge_tax: false
|
197
|
-
development:
|
198
|
-
client_id: <your client_id from wepay>
|
199
|
-
client_secret: <your client_secret from wepay>
|
200
|
-
auth_code_location: MyModel.wepay_auth_code
|
201
|
-
redirect_uri: "http://dev.example.com/wepay/authorize"
|
202
|
-
after_authorize_redirect_uri: "http://dev.example.com/purchase/checkout"
|
203
|
-
scope: ['refund_payments','collect_payments','view_balance','view_user']
|
204
|
-
wepay_api_uri: "https://stage.wepay.com"
|
205
|
-
wepay_api_version: "v2"
|
206
|
-
ipn_callback_uri: "http://dev.example.com/wepay/ipn"
|
207
|
-
checkout_redirect_uri: "http://dev.example.com/purchase/finalize"
|
208
|
-
fee_payer: Payee
|
209
|
-
checkout_type: GOODS
|
210
|
-
charge_tax: false
|
211
|
-
app_fee: 0
|
212
|
-
require_shipping: false
|
213
|
-
shipping_fee: 0
|
214
|
-
charge_tax: false
|
215
|
-
auto_capture: true
|
216
|
-
test:
|
217
|
-
client_id: <your client_id from wepay>
|
218
|
-
client_secret: <your client_secret from wepay>
|
219
|
-
auth_code_location: MyModel.wepay_auth_code
|
220
|
-
redirect_uri: "http://test.example.com/wepay/authorize"
|
221
|
-
after_authorize_redirect_uri: "http://test.example.com/purchase/checkout"
|
222
|
-
scope: ['refund_payments','collect_payments','view_balance','view_user']
|
223
|
-
wepay_api_uri: "https://stage.wepay.com"
|
224
|
-
wepay_api_version: "v2"
|
225
|
-
ipn_callback_uri: "http://test.example.com/wepay/ipn"
|
226
|
-
checkout_redirect_uri: "http://test.example.com/purchase/finalize"
|
227
|
-
fee_payer: Payee
|
228
|
-
checkout_type: GOODS
|
229
|
-
charge_tax: false
|
230
|
-
app_fee: 0
|
231
|
-
auto_capture: true
|
232
|
-
charge_tax: false
|
233
|
-
require_shipping: false
|
234
|
-
shipping_fee: 0
|
116
|
+
== Special Thanks to additional contributers of Wepay-Rails
|
117
|
+
* lucisferre (Chris Nicola) https://github.com/lucisferre
|
235
118
|
|
236
119
|
|
237
120
|
== Contributing to wepay-rails
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rails/generators/migration'
|
2
|
+
|
3
|
+
module WepayRails
|
4
|
+
module Generators
|
5
|
+
class InstallGenerator < ::Rails::Generators::Base
|
6
|
+
include Rails::Generators::Migration
|
7
|
+
source_root File.expand_path('../templates', __FILE__)
|
8
|
+
desc "add a migration for the Wepay Rails - WepayCheckoutRecord Model - Used to capture your transactions from Wepay"
|
9
|
+
def self.next_migration_number(path)
|
10
|
+
unless @prev_migration_nr
|
11
|
+
@prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
|
12
|
+
else
|
13
|
+
@prev_migration_nr += 1
|
14
|
+
end
|
15
|
+
@prev_migration_nr.to_s
|
16
|
+
end
|
17
|
+
|
18
|
+
def copy_migrations
|
19
|
+
migration_template "create_wepay_checkout_records.rb", "db/migrate/create_wepay_checkout_records.rb"
|
20
|
+
copy_file "wepay_checkout_record.rb", "lib/models/wepay_checkout_record.rb"
|
21
|
+
copy_file "wepay.yml", "config/wepay.yml.example"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class CreateWepayCheckoutRecords < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
|
4
|
+
create_table :wepay_checkout_records do |t|
|
5
|
+
t.integer :checkout_id
|
6
|
+
t.integer :account_id
|
7
|
+
t.string :auth_code
|
8
|
+
t.string :state
|
9
|
+
t.string :short_description
|
10
|
+
t.text :long_description
|
11
|
+
t.string :currency
|
12
|
+
t.decimal :amount
|
13
|
+
t.decimal :app_fee
|
14
|
+
t.string :fee_payer
|
15
|
+
t.decimal :gross
|
16
|
+
t.decimal :fee
|
17
|
+
t.string :reference_id
|
18
|
+
t.text :redirect_uri
|
19
|
+
t.text :callback_uri
|
20
|
+
t.text :checkout_uri
|
21
|
+
t.string :payer_email
|
22
|
+
t.string :payer_name
|
23
|
+
t.text :cancel_reason
|
24
|
+
t.text :refund_reason
|
25
|
+
t.boolean :auto_capture
|
26
|
+
t.boolean :require_shipping
|
27
|
+
t.text :shipping_address
|
28
|
+
t.decimal :tax
|
29
|
+
|
30
|
+
t.timestamps
|
31
|
+
end
|
32
|
+
|
33
|
+
add_index :wepay_checkout_records, :checkout_id
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.down
|
37
|
+
drop_table :wepay_checkout_records
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
production:
|
2
|
+
client_id: <your client id from wepay>
|
3
|
+
client_secret: <your client secret from wepay>
|
4
|
+
account_id: <your account id from wepay>
|
5
|
+
auth_code_location: MyModel.wepay_auth_code #model and column where you store the auth code for each of your customers eg. Profile.wepay_auth_code
|
6
|
+
redirect_uri: "http://www.example.com/wepay/authorize" # where to send the user on their trip back from wepay for payment
|
7
|
+
after_authorize_redirect_uri: "http://www.example.com/purchase/checkout" # after the user gets an auth token from wepay, where should they come?
|
8
|
+
scope: [refund_payments,collect_payments,view_balance,view_user]
|
9
|
+
wepay_api_uri: "https://api.wepay.com" # Use https://stage.wepay.com for development
|
10
|
+
wepay_api_version: "v2"
|
11
|
+
ipn_callback_uri: "http://www.example.com/wepay/ipn" # Future requests from wepay to you should go where?
|
12
|
+
fee_payer: Payee
|
13
|
+
checkout_type: GOODS
|
14
|
+
charge_tax: false
|
15
|
+
app_fee: 0
|
16
|
+
auto_capture: true
|
17
|
+
require_shipping: false
|
18
|
+
shipping_fee: 0
|
19
|
+
charge_tax: false
|
20
|
+
wepay_checkout_model: WepayCheckoutRecord # This is where the transactions for the checkouts will be stored
|
21
|
+
development:
|
22
|
+
|
23
|
+
test:
|
@@ -35,7 +35,20 @@ module WepayRails
|
|
35
35
|
# Response
|
36
36
|
# {"user_id":"123456","access_token":"1337h4x0rzabcd12345","token_type":"BEARER"} Example
|
37
37
|
def initialize_wepay_access_token(wepayable_object)
|
38
|
-
|
38
|
+
return if wepay_access_token_exists?
|
39
|
+
begin
|
40
|
+
# check to see if they have an auth code
|
41
|
+
# If not, send them to wepay to get one
|
42
|
+
wepayable_column = WepayRails::Configuration.wepayable_column
|
43
|
+
raise unless wepayable_object.send(wepayable_column.to_sym).present?
|
44
|
+
|
45
|
+
# It's possible that we raise an exception here - probably the auth code
|
46
|
+
# was too old and they need an updated one. Send them to wepay to
|
47
|
+
# get a new one if a raise happens while we run the following line of code.
|
48
|
+
session[unique_wepay_access_token_key] = wepay_gateway.access_token(wepayable_object)
|
49
|
+
rescue
|
50
|
+
redirect_to_wepay_for_auth(wepayable_object)
|
51
|
+
end
|
39
52
|
return
|
40
53
|
end
|
41
54
|
|
@@ -95,7 +108,8 @@ module WepayRails
|
|
95
108
|
# :require_shipping No A boolean value (0 or 1). If set to 1 then the payer will be asked to enter a shipping address when they pay. After payment you can retrieve this shipping address by calling /checkout
|
96
109
|
# :shipping_fee No The amount that you want to charge for shipping.
|
97
110
|
# :charge_tax No A boolean value (0 or 1). If set to 1 and the account has a relevant tax entry (see /account/set_tax), then tax will be charged.
|
98
|
-
def init_checkout_and_send_user_to_wepay(params)
|
111
|
+
def init_checkout_and_send_user_to_wepay(params, wepayable_object=nil)
|
112
|
+
initialize_wepay_access_token(wepayable_object) if wepayable_object.present?
|
99
113
|
response = wepay_gateway.perform_checkout(params)
|
100
114
|
checkout = WepayCheckoutRecord.create(params.merge({ checkout_id: response['checkout_id'] }))
|
101
115
|
raise WepayRails::Exceptions::InitializeCheckoutError.new("A problem occurred while trying to checkout. Wepay didn't send us back a checkout uri. Response was: #{response.inspect}, Params were: #{params}, Token was: #{wepay_access_token}") unless response && response.has_key?('checkout_uri')
|
data/wepay-rails.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "wepay-rails"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Adam Medeiros"]
|
12
|
-
s.date = "2011-11-
|
12
|
+
s.date = "2011-11-25"
|
13
13
|
s.description = "Rails gem that interfaces with the WePay API"
|
14
14
|
s.email = "adammede@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -31,6 +31,10 @@ Gem::Specification.new do |s|
|
|
31
31
|
"app/controllers/wepay/ipn_controller.rb",
|
32
32
|
"config/routes.rb",
|
33
33
|
"lib/examples/wepay.yml",
|
34
|
+
"lib/generators/wepay_rails/install/install_generator.rb",
|
35
|
+
"lib/generators/wepay_rails/install/templates/create_wepay_checkout_records.rb",
|
36
|
+
"lib/generators/wepay_rails/install/templates/wepay.yml",
|
37
|
+
"lib/generators/wepay_rails/install/templates/wepay_checkout_record.rb",
|
34
38
|
"lib/helpers/controller_helpers.rb",
|
35
39
|
"lib/helpers/model_helpers.rb",
|
36
40
|
"lib/wepay-rails.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wepay-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-11-
|
12
|
+
date: 2011-11-25 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
16
|
-
requirement: &
|
16
|
+
requirement: &24572180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *24572180
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: shoulda
|
27
|
-
requirement: &
|
27
|
+
requirement: &24569700 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *24569700
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &24537240 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *24537240
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &24534500 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.6.4
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *24534500
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rcov
|
60
|
-
requirement: &
|
60
|
+
requirement: &24531780 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *24531780
|
69
69
|
description: Rails gem that interfaces with the WePay API
|
70
70
|
email: adammede@gmail.com
|
71
71
|
executables: []
|
@@ -88,6 +88,10 @@ files:
|
|
88
88
|
- app/controllers/wepay/ipn_controller.rb
|
89
89
|
- config/routes.rb
|
90
90
|
- lib/examples/wepay.yml
|
91
|
+
- lib/generators/wepay_rails/install/install_generator.rb
|
92
|
+
- lib/generators/wepay_rails/install/templates/create_wepay_checkout_records.rb
|
93
|
+
- lib/generators/wepay_rails/install/templates/wepay.yml
|
94
|
+
- lib/generators/wepay_rails/install/templates/wepay_checkout_record.rb
|
91
95
|
- lib/helpers/controller_helpers.rb
|
92
96
|
- lib/helpers/model_helpers.rb
|
93
97
|
- lib/wepay-rails.rb
|
@@ -109,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
113
|
version: '0'
|
110
114
|
segments:
|
111
115
|
- 0
|
112
|
-
hash:
|
116
|
+
hash: -326143609003264246
|
113
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
118
|
none: false
|
115
119
|
requirements:
|