killbill-litle 1.10.0 → 2.0.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.
- checksums.yaml +4 -4
- data/.gitignore +4 -5
- data/.travis.yml +22 -3
- data/Gemfile +1 -1
- data/Gemfile.head +5 -0
- data/Gemfile.lock +129 -0
- data/Jarfile +9 -6
- data/Jarfile.lock +58 -0
- data/LICENSE +201 -0
- data/NEWS +3 -0
- data/README.md +58 -98
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/config.ru +1 -1
- data/db/ddl.sql +32 -21
- data/db/schema.rb +44 -32
- data/killbill-litle.gemspec +20 -16
- data/lib/litle.rb +82 -12
- data/lib/litle/api.rb +144 -204
- data/lib/litle/application.rb +96 -0
- data/lib/litle/models/payment_method.rb +21 -0
- data/lib/litle/models/response.rb +44 -0
- data/lib/litle/models/transaction.rb +11 -0
- data/lib/litle/private_api.rb +42 -13
- data/lib/litle/views/paypage.erb +8 -5
- data/litle.yml +33 -11
- data/pom.xml +3 -2
- data/release.sh +41 -21
- data/spec/litle/base_plugin_spec.rb +35 -62
- data/spec/litle/remote/certification_spec.rb +713 -0
- data/spec/litle/remote/integration_spec.rb +97 -168
- data/spec/spec_helper.rb +3 -16
- metadata +102 -55
- data/lib/litle/config/application.rb +0 -66
- data/lib/litle/config/configuration.rb +0 -51
- data/lib/litle/config/properties.rb +0 -23
- data/lib/litle/litle/gateway.rb +0 -32
- data/lib/litle/models/litle_payment_method.rb +0 -167
- data/lib/litle/models/litle_response.rb +0 -199
- data/lib/litle/models/litle_transaction.rb +0 -44
- data/spec/litle/currency_conversion_spec.rb +0 -21
- data/spec/litle/litle_payment_method_spec.rb +0 -95
- data/spec/litle/litle_response_spec.rb +0 -91
- data/spec/litle/utils_spec.rb +0 -22
data/NEWS
CHANGED
data/README.md
CHANGED
@@ -1,125 +1,85 @@
|
|
1
|
-
[](https://travis-ci.org/killbill/killbill-litle-plugin)
|
2
|
-
[](https://codeclimate.com/github/killbill/killbill-litle-plugin)
|
3
|
-
|
4
1
|
killbill-litle-plugin
|
5
2
|
=====================
|
6
3
|
|
7
|
-
Plugin to use Litle & Co. as a gateway.
|
4
|
+
Plugin to use [Litle & Co.](https://www.litle.com/) as a gateway.
|
8
5
|
|
9
6
|
Release builds are available on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.kill-bill.billing.plugin.ruby%22%20AND%20a%3A%22litle-plugin%22) with coordinates `org.kill-bill.billing.plugin.ruby:litle-plugin`.
|
10
7
|
|
8
|
+
Kill Bill compatibility
|
9
|
+
-----------------------
|
10
|
+
|
11
|
+
| Plugin version | Kill Bill version |
|
12
|
+
| -------------: | ----------------: |
|
13
|
+
| 2.x.y | 0.14.z |
|
14
|
+
|
11
15
|
Requirements
|
12
16
|
------------
|
13
17
|
|
14
|
-
The plugin needs a database. The latest version of the schema can be found here
|
18
|
+
The plugin needs a database. The latest version of the schema can be found [here](https://github.com/killbill/killbill-litle-plugin/blob/master/db/ddl.sql).
|
19
|
+
|
20
|
+
Configuration
|
21
|
+
-------------
|
22
|
+
|
23
|
+
```
|
24
|
+
curl -v \
|
25
|
+
-X POST \
|
26
|
+
-u admin:password \
|
27
|
+
-H 'X-Killbill-ApiKey: bob' \
|
28
|
+
-H 'X-Killbill-ApiSecret: lazar' \
|
29
|
+
-H 'X-Killbill-CreatedBy: admin' \
|
30
|
+
-H 'Content-Type: text/plain' \
|
31
|
+
-d ':litle:
|
32
|
+
- :account_id: USD
|
33
|
+
:merchant_id: "your-merchant-id-USD"
|
34
|
+
:username: "your-username"
|
35
|
+
:password: "your-password"
|
36
|
+
:secure_page_url: "litle-secure-page-url"
|
37
|
+
:paypage_id: "your-paypage-id-USD"
|
38
|
+
- :account_id: EUR
|
39
|
+
:merchant_id: "your-merchant-id-EUR"
|
40
|
+
:username: "your-username"
|
41
|
+
:password: "your-password"
|
42
|
+
:secure_page_url: "litle-secure-page-url"
|
43
|
+
:paypage_id: "your-paypage-id-EUR"' \
|
44
|
+
http://127.0.0.1:8080/1.0/kb/tenants/uploadPluginConfig/killbill-litle
|
45
|
+
```
|
46
|
+
|
47
|
+
To go to production, create a `litle.yml` configuration file under `/var/tmp/bundles/plugins/ruby/killbill-litle/x.y.z/` containing the following:
|
48
|
+
|
49
|
+
```
|
50
|
+
:litle:
|
51
|
+
:test: false
|
52
|
+
```
|
15
53
|
|
16
54
|
Usage
|
17
55
|
-----
|
18
56
|
|
19
|
-
|
57
|
+
You would typically implement [Litle PayPage](https://www.litle.com/images/uploads/Paypage.pdf) to tokenize credit cards.
|
20
58
|
|
21
|
-
|
59
|
+
After receiving the token from Litle, call:
|
22
60
|
|
23
61
|
```
|
24
62
|
curl -v \
|
25
63
|
-X POST \
|
26
|
-
-
|
27
|
-
-H
|
28
|
-
-H
|
29
|
-
|
64
|
+
-u admin:password \
|
65
|
+
-H 'X-Killbill-ApiKey: bob' \
|
66
|
+
-H 'X-Killbill-ApiSecret: lazar' \
|
67
|
+
-H 'X-Killbill-CreatedBy: admin' \
|
68
|
+
-H 'Content-Type: application/json' \
|
69
|
+
-d '{
|
30
70
|
"pluginName": "killbill-litle",
|
31
71
|
"pluginInfo": {
|
32
|
-
"properties": [
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
},
|
37
|
-
{
|
38
|
-
"key": "ccFirstName",
|
39
|
-
"value": "John"
|
40
|
-
},
|
41
|
-
{
|
42
|
-
"key": "ccLastName",
|
43
|
-
"value": "Doe"
|
44
|
-
},
|
45
|
-
{
|
46
|
-
"key": "ccType",
|
47
|
-
"value": "VISA"
|
48
|
-
},
|
49
|
-
{
|
50
|
-
"key": "ccExpMonth",
|
51
|
-
"value": 12
|
52
|
-
},
|
53
|
-
{
|
54
|
-
"key": "ccExpYear",
|
55
|
-
"value": 2015
|
56
|
-
},
|
57
|
-
{
|
58
|
-
"key": "ccLast4",
|
59
|
-
"value": 1234
|
60
|
-
},
|
61
|
-
{
|
62
|
-
"key": "address1",
|
63
|
-
"value": "5, oakriu road"
|
64
|
-
},
|
65
|
-
{
|
66
|
-
"key": "address2",
|
67
|
-
"value": "apt. 298"
|
68
|
-
},
|
69
|
-
{
|
70
|
-
"key": "city",
|
71
|
-
"value": "Gdio Foia"
|
72
|
-
},
|
73
|
-
{
|
74
|
-
"key": "state",
|
75
|
-
"value": "FL"
|
76
|
-
},
|
77
|
-
{
|
78
|
-
"key": "zip",
|
79
|
-
"value": "49302"
|
80
|
-
},
|
81
|
-
{
|
82
|
-
"key": "country",
|
83
|
-
"value": "IFP"
|
84
|
-
}
|
85
|
-
]
|
72
|
+
"properties": [{
|
73
|
+
"key": "paypageRegistrationId",
|
74
|
+
"value": "t3GER3BP3JHLASZe"
|
75
|
+
}]
|
86
76
|
}
|
87
77
|
}' \
|
88
|
-
"http
|
78
|
+
"http://127.0.0.1:8080/1.0/kb/accounts/2a55045a-ce1d-4344-942d-b825536328f9/paymentMethods?isDefault=true"
|
89
79
|
```
|
90
80
|
|
91
|
-
|
92
|
-
-------------
|
93
|
-
|
94
|
-
The plugin expects a `litle.yml` configuration file containing the following:
|
81
|
+
An example implementation is exposed at:
|
95
82
|
|
96
83
|
```
|
97
|
-
:litle
|
98
|
-
:merchant_id:
|
99
|
-
:USD: 'your-merchant-id-USD'
|
100
|
-
:EUR: 'your-merchant-id-EURO'
|
101
|
-
:password: 'your-password'
|
102
|
-
:username: 'your-username'
|
103
|
-
# Optional, if you are using PayPage
|
104
|
-
:secure_page_url: 'litle-secure-page-url'
|
105
|
-
:paypage_id:
|
106
|
-
:USD: 'litle-paypage-id-USD'
|
107
|
-
:EUR: 'litle-paypage-id-EURO'
|
108
|
-
:log_file: '/var/tmp/litle.log'
|
109
|
-
# Switch to false for production
|
110
|
-
:test: true
|
111
|
-
|
112
|
-
:database:
|
113
|
-
:adapter: 'sqlite3'
|
114
|
-
:database: 'test.db'
|
115
|
-
# For MySQL
|
116
|
-
# :adapter: 'jdbc'
|
117
|
-
# :username: 'your-username'
|
118
|
-
# :password: 'your-password'
|
119
|
-
# :driver: 'com.mysql.jdbc.Driver'
|
120
|
-
# :url: 'jdbc:mysql://127.0.0.1:3306/your-database'
|
84
|
+
http://127.0.0.1:8080/plugins/killbill-litle/form?kb_account_id=2a55045a-ce1d-4344-942d-b825536328f9&kb_tenant_id=a86d9fd1-718d-4178-a9eb-46c61aa2548f
|
121
85
|
```
|
122
|
-
|
123
|
-
By default, the plugin will look at the plugin directory root (where `killbill.properties` is located) to find this file.
|
124
|
-
Alternatively, set the Kill Bill system property `-Dorg.killbill.billing.osgi.bundles.jruby.conf.dir=/my/directory` to specify another location.
|
125
|
-
|
data/Rakefile
CHANGED
@@ -7,14 +7,14 @@ Bundler::GemHelper.install_tasks
|
|
7
7
|
# Install test tasks
|
8
8
|
require 'rspec/core/rake_task'
|
9
9
|
namespace :test do
|
10
|
-
desc
|
10
|
+
desc 'Run RSpec tests'
|
11
11
|
RSpec::Core::RakeTask.new do |task|
|
12
12
|
task.name = 'spec'
|
13
13
|
task.pattern = './spec/*/*_spec.rb'
|
14
14
|
end
|
15
15
|
|
16
16
|
namespace :remote do
|
17
|
-
desc
|
17
|
+
desc 'Run RSpec remote tests'
|
18
18
|
RSpec::Core::RakeTask.new do |task|
|
19
19
|
task.name = 'spec'
|
20
20
|
task.pattern = './spec/*/remote/*_spec.rb'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0
|
data/config.ru
CHANGED
data/db/ddl.sql
CHANGED
@@ -1,14 +1,19 @@
|
|
1
1
|
CREATE TABLE `litle_payment_methods` (
|
2
2
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
3
|
-
`kb_account_id` varchar(255) NOT NULL,
|
4
3
|
`kb_payment_method_id` varchar(255) DEFAULT NULL,
|
5
|
-
`
|
4
|
+
`token` varchar(255) DEFAULT NULL,
|
6
5
|
`cc_first_name` varchar(255) DEFAULT NULL,
|
7
6
|
`cc_last_name` varchar(255) DEFAULT NULL,
|
8
7
|
`cc_type` varchar(255) DEFAULT NULL,
|
9
|
-
`cc_exp_month`
|
10
|
-
`cc_exp_year`
|
11
|
-
`
|
8
|
+
`cc_exp_month` varchar(255) DEFAULT NULL,
|
9
|
+
`cc_exp_year` varchar(255) DEFAULT NULL,
|
10
|
+
`cc_number` varchar(255) DEFAULT NULL,
|
11
|
+
`cc_last_4` varchar(255) DEFAULT NULL,
|
12
|
+
`cc_start_month` varchar(255) DEFAULT NULL,
|
13
|
+
`cc_start_year` varchar(255) DEFAULT NULL,
|
14
|
+
`cc_issue_number` varchar(255) DEFAULT NULL,
|
15
|
+
`cc_verification_value` varchar(255) DEFAULT NULL,
|
16
|
+
`cc_track_data` varchar(255) DEFAULT NULL,
|
12
17
|
`address1` varchar(255) DEFAULT NULL,
|
13
18
|
`address2` varchar(255) DEFAULT NULL,
|
14
19
|
`city` varchar(255) DEFAULT NULL,
|
@@ -18,6 +23,8 @@ CREATE TABLE `litle_payment_methods` (
|
|
18
23
|
`is_deleted` tinyint(1) NOT NULL DEFAULT '0',
|
19
24
|
`created_at` datetime NOT NULL,
|
20
25
|
`updated_at` datetime NOT NULL,
|
26
|
+
`kb_account_id` varchar(255) DEFAULT NULL,
|
27
|
+
`kb_tenant_id` varchar(255) DEFAULT NULL,
|
21
28
|
PRIMARY KEY (`id`),
|
22
29
|
KEY `index_litle_payment_methods_on_kb_account_id` (`kb_account_id`),
|
23
30
|
KEY `index_litle_payment_methods_on_kb_payment_method_id` (`kb_payment_method_id`)
|
@@ -28,11 +35,16 @@ CREATE TABLE `litle_transactions` (
|
|
28
35
|
`litle_response_id` int(11) NOT NULL,
|
29
36
|
`api_call` varchar(255) NOT NULL,
|
30
37
|
`kb_payment_id` varchar(255) NOT NULL,
|
31
|
-
`
|
32
|
-
`
|
33
|
-
`
|
38
|
+
`kb_payment_transaction_id` varchar(255) NOT NULL,
|
39
|
+
`transaction_type` varchar(255) NOT NULL,
|
40
|
+
`payment_processor_account_id` varchar(255) DEFAULT NULL,
|
41
|
+
`txn_id` varchar(255) DEFAULT NULL,
|
42
|
+
`amount_in_cents` int(11) DEFAULT NULL,
|
43
|
+
`currency` varchar(255) DEFAULT NULL,
|
34
44
|
`created_at` datetime NOT NULL,
|
35
45
|
`updated_at` datetime NOT NULL,
|
46
|
+
`kb_account_id` varchar(255) NOT NULL,
|
47
|
+
`kb_tenant_id` varchar(255) NOT NULL,
|
36
48
|
PRIMARY KEY (`id`),
|
37
49
|
KEY `index_litle_transactions_on_kb_payment_id` (`kb_payment_id`)
|
38
50
|
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
@@ -41,23 +53,20 @@ CREATE TABLE `litle_responses` (
|
|
41
53
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
42
54
|
`api_call` varchar(255) NOT NULL,
|
43
55
|
`kb_payment_id` varchar(255) DEFAULT NULL,
|
56
|
+
`kb_payment_transaction_id` varchar(255) DEFAULT NULL,
|
57
|
+
`transaction_type` varchar(255) DEFAULT NULL,
|
58
|
+
`payment_processor_account_id` varchar(255) DEFAULT NULL,
|
44
59
|
`message` varchar(255) DEFAULT NULL,
|
45
60
|
`authorization` varchar(255) DEFAULT NULL,
|
46
61
|
`fraud_review` tinyint(1) DEFAULT NULL,
|
47
62
|
`test` tinyint(1) DEFAULT NULL,
|
48
|
-
`
|
49
|
-
`
|
50
|
-
`
|
51
|
-
`
|
52
|
-
`
|
53
|
-
`
|
54
|
-
`
|
55
|
-
`params_litleonelineresponse_saleresponse_litle_txn_id` varchar(255) DEFAULT NULL,
|
56
|
-
`params_litleonelineresponse_saleresponse_order_id` varchar(255) DEFAULT NULL,
|
57
|
-
`params_litleonelineresponse_saleresponse_response` varchar(255) DEFAULT NULL,
|
58
|
-
`params_litleonelineresponse_saleresponse_response_time` varchar(255) DEFAULT NULL,
|
59
|
-
`params_litleonelineresponse_saleresponse_message` varchar(255) DEFAULT NULL,
|
60
|
-
`params_litleonelineresponse_saleresponse_auth_code` varchar(255) DEFAULT NULL,
|
63
|
+
`params_litle_txn_id` varchar(255) DEFAULT NULL,
|
64
|
+
`params_order_id` varchar(255) DEFAULT NULL,
|
65
|
+
`params_litle_token` varchar(255) DEFAULT NULL,
|
66
|
+
`params_auth_code` varchar(255) DEFAULT NULL,
|
67
|
+
`params_response` varchar(255) DEFAULT NULL,
|
68
|
+
`params_response_time` varchar(255) DEFAULT NULL,
|
69
|
+
`params_message` varchar(255) DEFAULT NULL,
|
61
70
|
`avs_result_code` varchar(255) DEFAULT NULL,
|
62
71
|
`avs_result_message` varchar(255) DEFAULT NULL,
|
63
72
|
`avs_result_street_match` varchar(255) DEFAULT NULL,
|
@@ -67,5 +76,7 @@ CREATE TABLE `litle_responses` (
|
|
67
76
|
`success` tinyint(1) DEFAULT NULL,
|
68
77
|
`created_at` datetime NOT NULL,
|
69
78
|
`updated_at` datetime NOT NULL,
|
79
|
+
`kb_account_id` varchar(255) DEFAULT NULL,
|
80
|
+
`kb_tenant_id` varchar(255) DEFAULT NULL,
|
70
81
|
PRIMARY KEY (`id`)
|
71
82
|
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
data/db/schema.rb
CHANGED
@@ -1,63 +1,73 @@
|
|
1
1
|
require 'active_record'
|
2
2
|
|
3
|
-
ActiveRecord::Schema.define(:version =>
|
3
|
+
ActiveRecord::Schema.define(:version => 20140410153635) do
|
4
4
|
create_table "litle_payment_methods", :force => true do |t|
|
5
|
-
t.string "
|
6
|
-
t.string "
|
7
|
-
t.string "litle_token", :null => false
|
5
|
+
t.string "kb_payment_method_id" # NULL before Kill Bill knows about it
|
6
|
+
t.string "token" # litle id
|
8
7
|
t.string "cc_first_name"
|
9
8
|
t.string "cc_last_name"
|
10
9
|
t.string "cc_type"
|
11
|
-
t.
|
12
|
-
t.
|
13
|
-
t.
|
10
|
+
t.string "cc_exp_month"
|
11
|
+
t.string "cc_exp_year"
|
12
|
+
t.string "cc_number"
|
13
|
+
t.string "cc_last_4"
|
14
|
+
t.string "cc_start_month"
|
15
|
+
t.string "cc_start_year"
|
16
|
+
t.string "cc_issue_number"
|
17
|
+
t.string "cc_verification_value"
|
18
|
+
t.string "cc_track_data"
|
14
19
|
t.string "address1"
|
15
20
|
t.string "address2"
|
16
21
|
t.string "city"
|
17
22
|
t.string "state"
|
18
23
|
t.string "zip"
|
19
24
|
t.string "country"
|
20
|
-
t.boolean "is_deleted",
|
21
|
-
t.datetime "created_at",
|
22
|
-
t.datetime "updated_at",
|
25
|
+
t.boolean "is_deleted", :null => false, :default => false
|
26
|
+
t.datetime "created_at", :null => false
|
27
|
+
t.datetime "updated_at", :null => false
|
28
|
+
t.string "kb_account_id"
|
29
|
+
t.string "kb_tenant_id"
|
23
30
|
end
|
24
31
|
|
25
32
|
add_index(:litle_payment_methods, :kb_account_id)
|
26
33
|
add_index(:litle_payment_methods, :kb_payment_method_id)
|
27
34
|
|
28
35
|
create_table "litle_transactions", :force => true do |t|
|
29
|
-
t.integer "litle_response_id",
|
30
|
-
t.string "api_call",
|
31
|
-
t.string "kb_payment_id",
|
32
|
-
t.string "
|
33
|
-
t.
|
34
|
-
t.string
|
35
|
-
t.
|
36
|
-
|
36
|
+
t.integer "litle_response_id", :null => false
|
37
|
+
t.string "api_call", :null => false
|
38
|
+
t.string "kb_payment_id", :null => false
|
39
|
+
t.string "kb_payment_transaction_id", :null => false
|
40
|
+
t.string "transaction_type", :null => false
|
41
|
+
t.string "payment_processor_account_id"
|
42
|
+
t.string "txn_id" # litle transaction id
|
43
|
+
# Both null for void
|
44
|
+
t.integer "amount_in_cents"
|
45
|
+
t.string "currency"
|
46
|
+
t.datetime "created_at", :null => false
|
47
|
+
t.datetime "updated_at", :null => false
|
48
|
+
t.string "kb_account_id", :null => false
|
49
|
+
t.string "kb_tenant_id", :null => false
|
37
50
|
end
|
38
51
|
|
39
52
|
add_index(:litle_transactions, :kb_payment_id)
|
40
53
|
|
41
54
|
create_table "litle_responses", :force => true do |t|
|
42
|
-
t.string "api_call",
|
55
|
+
t.string "api_call", :null => false
|
43
56
|
t.string "kb_payment_id"
|
57
|
+
t.string "kb_payment_transaction_id"
|
58
|
+
t.string "transaction_type"
|
59
|
+
t.string "payment_processor_account_id"
|
44
60
|
t.string "message"
|
45
61
|
t.string "authorization"
|
46
62
|
t.boolean "fraud_review"
|
47
63
|
t.boolean "test"
|
48
|
-
t.string "
|
49
|
-
t.string "
|
50
|
-
t.string "
|
51
|
-
t.string "
|
52
|
-
t.string "
|
53
|
-
t.string "
|
54
|
-
t.string "
|
55
|
-
t.string "params_litleonelineresponse_saleresponse_litle_txn_id"
|
56
|
-
t.string "params_litleonelineresponse_saleresponse_order_id"
|
57
|
-
t.string "params_litleonelineresponse_saleresponse_response"
|
58
|
-
t.string "params_litleonelineresponse_saleresponse_response_time"
|
59
|
-
t.string "params_litleonelineresponse_saleresponse_message"
|
60
|
-
t.string "params_litleonelineresponse_saleresponse_auth_code"
|
64
|
+
t.string "params_litle_txn_id"
|
65
|
+
t.string "params_order_id"
|
66
|
+
t.string "params_litle_token"
|
67
|
+
t.string "params_auth_code"
|
68
|
+
t.string "params_response"
|
69
|
+
t.string "params_response_time"
|
70
|
+
t.string "params_message"
|
61
71
|
t.string "avs_result_code"
|
62
72
|
t.string "avs_result_message"
|
63
73
|
t.string "avs_result_street_match"
|
@@ -67,5 +77,7 @@ ActiveRecord::Schema.define(:version => 20130311153635) do
|
|
67
77
|
t.boolean "success"
|
68
78
|
t.datetime "created_at", :null => false
|
69
79
|
t.datetime "updated_at", :null => false
|
80
|
+
t.string "kb_account_id"
|
81
|
+
t.string "kb_tenant_id"
|
70
82
|
end
|
71
83
|
end
|
data/killbill-litle.gemspec
CHANGED
@@ -12,36 +12,40 @@ Gem::Specification.new do |s|
|
|
12
12
|
|
13
13
|
s.author = 'Kill Bill core team'
|
14
14
|
s.email = 'killbilling-users@googlegroups.com'
|
15
|
-
s.homepage = 'http://
|
15
|
+
s.homepage = 'http://killbill.io'
|
16
16
|
|
17
17
|
s.files = `git ls-files`.split("\n")
|
18
18
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
19
|
s.bindir = 'bin'
|
20
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
|
-
s.require_paths = [
|
20
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
21
|
+
s.require_paths = ['lib']
|
22
22
|
|
23
23
|
s.rdoc_options << '--exclude' << '.'
|
24
24
|
|
25
|
-
s.add_dependency 'killbill', '~>
|
26
|
-
|
27
|
-
s.add_dependency 'activerecord', '~> 3.2.1'
|
28
|
-
s.add_dependency 'money', '~> 6.0.0'
|
25
|
+
s.add_dependency 'killbill', '~> 4.0.0'
|
26
|
+
|
29
27
|
s.add_dependency 'sinatra', '~> 1.3.4'
|
30
|
-
|
31
|
-
s.add_dependency '
|
32
|
-
s.add_dependency 'xml-mapping', '~> 0.9.1'
|
33
|
-
s.add_dependency 'xml-object', '~> 0.9.93'
|
28
|
+
s.add_dependency 'thread_safe', '~> 0.3.4'
|
29
|
+
s.add_dependency 'activerecord', '~> 4.1.0'
|
34
30
|
if defined?(JRUBY_VERSION)
|
35
|
-
s.add_dependency 'activerecord-
|
31
|
+
s.add_dependency 'activerecord-bogacs', '~> 0.3'
|
32
|
+
s.add_dependency 'activerecord-jdbc-adapter', '~> 1.3'
|
36
33
|
# Required to avoid errors like java.lang.NoClassDefFoundError: org/bouncycastle/asn1/DERBoolean
|
37
|
-
s.add_dependency 'jruby-openssl', '~> 0.9.
|
34
|
+
s.add_dependency 'jruby-openssl', '~> 0.9.6'
|
38
35
|
end
|
39
|
-
|
40
|
-
s.
|
36
|
+
s.add_dependency 'actionpack', '~> 4.1.0'
|
37
|
+
s.add_dependency 'actionview', '~> 4.1.0'
|
38
|
+
s.add_dependency 'activemerchant', '~> 1.48.0'
|
39
|
+
s.add_dependency 'offsite_payments', '~> 2.1.0'
|
40
|
+
s.add_dependency 'monetize', '~> 1.1.0'
|
41
|
+
s.add_dependency 'money', '~> 6.5.1'
|
42
|
+
|
43
|
+
s.add_development_dependency 'jbundler', '~> 0.4.3'
|
41
44
|
s.add_development_dependency 'rake', '>= 10.0.0'
|
42
45
|
s.add_development_dependency 'rspec', '~> 2.12.0'
|
43
46
|
if defined?(JRUBY_VERSION)
|
44
|
-
s.add_development_dependency '
|
47
|
+
s.add_development_dependency 'jdbc-sqlite3', '~> 3.7'
|
48
|
+
s.add_development_dependency 'jdbc-mariadb', '~> 1.1'
|
45
49
|
else
|
46
50
|
s.add_development_dependency 'sqlite3', '~> 1.3.7'
|
47
51
|
end
|