dune-balanced-creditcard 1.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.
Files changed (86) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +13 -0
  5. data/CHANGELOG.md +5 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +48 -0
  9. data/Rakefile +34 -0
  10. data/app/assets/images/dune/balanced/creditcard/.gitkeep +0 -0
  11. data/app/assets/javascripts/dune/balanced/creditcard/flash.js.coffee +15 -0
  12. data/app/assets/javascripts/dune/balanced/creditcard/payments.js.coffee.erb +86 -0
  13. data/app/assets/javascripts/dune-balanced-creditcard.js +1 -0
  14. data/app/assets/stylesheets/dune/balanced/creditcard/application.css +16 -0
  15. data/app/controllers/dune/balanced/creditcard/application_controller.rb +4 -0
  16. data/app/controllers/dune/balanced/creditcard/payments_controller.rb +84 -0
  17. data/app/models/dune/balanced/creditcard/payment.rb +94 -0
  18. data/app/models/dune/balanced/creditcard/transaction_additional_fee_calculator.rb +12 -0
  19. data/app/models/dune/balanced/creditcard/transaction_fee_calculator_base.rb +31 -0
  20. data/app/models/dune/balanced/creditcard/transaction_inclusive_fee_calculator.rb +13 -0
  21. data/app/views/dune/balanced/creditcard/.gitkeep +0 -0
  22. data/app/views/dune/balanced/creditcard/payments/new.html.slim +98 -0
  23. data/bin/rails +8 -0
  24. data/config/initializers/registration.rb +5 -0
  25. data/config/locales/en.yml +32 -0
  26. data/config/locales/simple_form.en.yml +12 -0
  27. data/config/routes.rb +5 -0
  28. data/dune-balanced-creditcard.gemspec +27 -0
  29. data/lib/dune/balanced/creditcard/engine.rb +9 -0
  30. data/lib/dune/balanced/creditcard/interface.rb +27 -0
  31. data/lib/dune/balanced/creditcard/version.rb +7 -0
  32. data/lib/dune/balanced/creditcard.rb +11 -0
  33. data/lib/float_extensions.rb +11 -0
  34. data/spec/controllers/neighborly/balanced/creditcard/payments_controller_spec.rb +199 -0
  35. data/spec/dummy/README.rdoc +28 -0
  36. data/spec/dummy/Rakefile +6 -0
  37. data/spec/dummy/app/assets/images/.keep +0 -0
  38. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  39. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  40. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  41. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  42. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  43. data/spec/dummy/app/mailers/.keep +0 -0
  44. data/spec/dummy/app/models/.keep +0 -0
  45. data/spec/dummy/app/models/concerns/.keep +0 -0
  46. data/spec/dummy/app/models/configuration.rb +9 -0
  47. data/spec/dummy/app/models/contribution.rb +32 -0
  48. data/spec/dummy/app/models/match.rb +31 -0
  49. data/spec/dummy/app/models/payment_engine.rb +5 -0
  50. data/spec/dummy/app/models/project.rb +9 -0
  51. data/spec/dummy/app/models/user.rb +2 -0
  52. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  53. data/spec/dummy/bin/bundle +3 -0
  54. data/spec/dummy/bin/rails +4 -0
  55. data/spec/dummy/bin/rake +4 -0
  56. data/spec/dummy/config/application.rb +24 -0
  57. data/spec/dummy/config/boot.rb +5 -0
  58. data/spec/dummy/config/database.yml +25 -0
  59. data/spec/dummy/config/environment.rb +5 -0
  60. data/spec/dummy/config/environments/development.rb +29 -0
  61. data/spec/dummy/config/environments/production.rb +80 -0
  62. data/spec/dummy/config/environments/test.rb +36 -0
  63. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  64. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  65. data/spec/dummy/config/initializers/inflections.rb +16 -0
  66. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  67. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  68. data/spec/dummy/config/initializers/session_store.rb +3 -0
  69. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  70. data/spec/dummy/config/locales/en.yml +23 -0
  71. data/spec/dummy/config/routes.rb +8 -0
  72. data/spec/dummy/config.ru +4 -0
  73. data/spec/dummy/db/schema.rb +27 -0
  74. data/spec/dummy/db/test.sqlite3 +0 -0
  75. data/spec/dummy/lib/assets/.keep +0 -0
  76. data/spec/dummy/log/.keep +0 -0
  77. data/spec/dummy/public/404.html +58 -0
  78. data/spec/dummy/public/422.html +58 -0
  79. data/spec/dummy/public/500.html +57 -0
  80. data/spec/dummy/public/favicon.ico +0 -0
  81. data/spec/lib/neighborly/balanced/creditcard/interface_spec.rb +37 -0
  82. data/spec/models/neighborly/balanced/creditcard/payment_spec.rb +223 -0
  83. data/spec/models/neighborly/balanced/creditcard/transaction_additional_fee_calculator_spec.rb +38 -0
  84. data/spec/models/neighborly/balanced/creditcard/transaction_inclusive_fee_calculator_spec.rb +19 -0
  85. data/spec/spec_helper.rb +15 -0
  86. metadata +252 -0
@@ -0,0 +1,223 @@
1
+ require 'spec_helper'
2
+
3
+ describe Dune::Balanced::Creditcard::Payment do
4
+ shared_examples_for 'payable' do
5
+ let(:customer) { double('::Balanced::Customer') }
6
+ let(:debit) { double('::Balanced::Debit').as_null_object }
7
+ let(:attributes) { { use_card: 'my-new-card' } }
8
+ let(:project_owner_customer) do
9
+ double('::Balanced::Customer', uri: 'project-owner-uri')
10
+ end
11
+
12
+ let(:card) do
13
+ double('::Balanced::Card',
14
+ id: '443',
15
+ href: '/cards/443').as_null_object
16
+ end
17
+
18
+ subject do
19
+ described_class.new('balanced-creditcard',
20
+ customer,
21
+ resource,
22
+ attributes)
23
+ end
24
+
25
+ before do
26
+ ::Balanced::Card.stub(:fetch).and_return(card)
27
+ ::Balanced::Customer.stub(:find).and_return(project_owner_customer)
28
+ resource.stub_chain(:project, :user, :balanced_contributor).and_return(
29
+ double('BalancedContributor', uri: 'project-owner-uri'))
30
+
31
+ described_class.any_instance.stub(:meta).and_return({})
32
+ resource.stub(:value).and_return(1234)
33
+ end
34
+
35
+ describe 'amount in cents' do
36
+ context 'when customer is paying fees' do
37
+ let(:attributes) { { pay_fee: '1', use_card: 'my-new-card' } }
38
+
39
+ it 'returns gross amount from TransactionAdditionalFeeCalculator' do
40
+ Dune::Balanced::Creditcard::TransactionAdditionalFeeCalculator.
41
+ any_instance.stub(:gross_amount).and_return(15)
42
+ expect(subject.amount_in_cents).to eql(1500)
43
+ end
44
+ end
45
+
46
+ context 'when customer is not paying fees' do
47
+ let(:attributes) { { pay_fee: '0', use_card: 'my-new-card' } }
48
+
49
+ it 'returns gross amount from TransactionInclusiveFeeCalculator' do
50
+ Dune::Balanced::Creditcard::TransactionInclusiveFeeCalculator.
51
+ any_instance.stub(:gross_amount).and_return(10)
52
+ expect(subject.amount_in_cents).to eql(1000)
53
+ end
54
+ end
55
+ end
56
+
57
+ describe 'checkout' do
58
+ shared_examples 'updates resource object' do
59
+ let(:attributes) { { pay_fee: '1', use_card: 'my-new-card' } }
60
+
61
+ it 'debits customer on selected funding instrument' do
62
+ expect_any_instance_of(
63
+ Dune::Balanced::OrderProxy
64
+ ).to receive(:debit_from).with(hash_including(source: card)).
65
+ and_return(debit)
66
+ subject.checkout!
67
+ end
68
+
69
+ it 'defines given engine\'s name as payment method of the resource' do
70
+ resource.should_receive(:update_attributes).
71
+ with(hash_including(payment_method: 'balanced-creditcard'))
72
+ subject.checkout!
73
+ end
74
+
75
+ it 'saves paid fees on resource object' do
76
+ calculator = double('FeeCalculator', fees: 0.42).as_null_object
77
+ subject.stub(:fee_calculator).and_return(calculator)
78
+ resource.should_receive(:update_attributes).
79
+ with(hash_including(payment_service_fee: 0.42))
80
+ subject.checkout!
81
+ end
82
+
83
+ it 'saves who paid the fees' do
84
+ calculator = double('FeeCalculator', fees: 0.42).as_null_object
85
+ subject.stub(:fee_calculator).and_return(calculator)
86
+ resource.should_receive(:update_attributes).
87
+ with(hash_including(payment_service_fee_paid_by_user: '1'))
88
+ subject.checkout!
89
+ end
90
+ end
91
+
92
+ context 'when customer is paying fees' do
93
+ let(:attributes) { { pay_fee: '1', use_card: 'my-new-card' } }
94
+
95
+ it 'debits customer with amount in cents' do
96
+ subject.stub(:amount_in_cents).and_return(1000)
97
+ expect_any_instance_of(
98
+ Dune::Balanced::OrderProxy
99
+ ).to receive(:debit_from).with(hash_including(amount: 1000)).
100
+ and_return(debit)
101
+ subject.checkout!
102
+ end
103
+ end
104
+
105
+ context 'with successful debit' do
106
+ before do
107
+ allow_any_instance_of(
108
+ Dune::Balanced::OrderProxy
109
+ ).to receive(:debit_from).and_return(debit)
110
+ end
111
+
112
+ include_examples 'updates resource object'
113
+
114
+ it 'confirms the resource' do
115
+ expect(resource).to receive(:confirm!)
116
+ subject.checkout!
117
+ end
118
+
119
+ it 'defines id as payment id of the resource' do
120
+ debit.stub(:id).and_return('i-am-an-id!')
121
+ resource.should_receive(:update_attributes).
122
+ with(hash_including(payment_id: 'i-am-an-id!'))
123
+ subject.checkout!
124
+ end
125
+
126
+ it 'defines appears_on_statement_as on debit' do
127
+ ::Configuration.stub(:[]).with(:balanced_appears_on_statement_as).
128
+ and_return('www.dune-investissement.fr')
129
+
130
+ expect_any_instance_of(
131
+ Dune::Balanced::OrderProxy
132
+ ).to receive(:debit_from).
133
+ with(hash_including(appears_on_statement_as: 'www.dune-investissement.fr')).
134
+ and_return(debit)
135
+ subject.checkout!
136
+ end
137
+
138
+ it 'defines description on debit' do
139
+ resource.stub_chain(:project, :name).and_return('Awesome Project')
140
+ expect_any_instance_of(
141
+ Dune::Balanced::OrderProxy
142
+ ).to receive(:debit_from).
143
+ with(hash_including(description: debit_description)).
144
+ and_return(debit)
145
+ subject.checkout!
146
+ end
147
+
148
+ it 'defines meta on debit' do
149
+ described_class.any_instance.stub(:meta).and_return({ payment_service_fee: 5.0 })
150
+ expect_any_instance_of(
151
+ Dune::Balanced::OrderProxy
152
+ ).to receive(:debit_from).
153
+ with(hash_including(meta: { payment_service_fee: 5.0 })).
154
+ and_return(debit)
155
+ subject.checkout!
156
+ end
157
+ end
158
+
159
+ context 'when raising Balanced::PaymentRequired exception' do
160
+ before do
161
+ allow_any_instance_of(
162
+ Dune::Balanced::OrderProxy
163
+ ).to receive(:debit_from).
164
+ and_raise(Balanced::PaymentRequired.new({}))
165
+ end
166
+
167
+ include_examples 'updates resource object'
168
+
169
+ it 'cancels the resource' do
170
+ expect(resource).to receive(:cancel!)
171
+ subject.checkout!
172
+ end
173
+ end
174
+ end
175
+
176
+ describe 'successful state' do
177
+ before do
178
+ allow_any_instance_of(
179
+ Dune::Balanced::OrderProxy
180
+ ).to receive(:debit_from).and_return(debit)
181
+ end
182
+
183
+ context 'after checkout' do
184
+ before { subject.checkout! }
185
+
186
+ it 'is successfull when the debit has \'succeeded\' status' do
187
+ debit.stub(:status).and_return('succeeded')
188
+ expect(subject).to be_successful
189
+ end
190
+
191
+ it 'is successfull when the debit has \'pending\' status' do
192
+ debit.stub(:status).and_return('pending')
193
+ expect(subject).to be_successful
194
+ end
195
+
196
+ it 'is not successfull when the debit has others statuses' do
197
+ debit.stub(:status).and_return('failed')
198
+ expect(subject).to_not be_successful
199
+ end
200
+ end
201
+
202
+ context 'before checkout' do
203
+ it 'is not successfull' do
204
+ expect(subject).to_not be_successful
205
+ end
206
+ end
207
+ end
208
+ end
209
+
210
+ context 'when resource is Contribution' do
211
+ let(:resource) { Contribution.new }
212
+ let(:debit_description) { 'Contribution to Awesome Project' }
213
+
214
+ it_should_behave_like 'payable'
215
+ end
216
+
217
+ context 'when resource is Match' do
218
+ let(:resource) { Match.new }
219
+ let(:debit_description) { 'Match for Awesome Project' }
220
+
221
+ it_should_behave_like 'payable'
222
+ end
223
+ end
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+
3
+ describe Dune::Balanced::Creditcard::TransactionAdditionalFeeCalculator do
4
+ subject { described_class.new(transaction_value) }
5
+
6
+ context "when gross amount doesn't need more then 2 decimal places of precision" do
7
+ let(:transaction_value) { 1000.0 }
8
+
9
+ it "has net amount equal to transaction value" do
10
+ expect(subject.net_amount).to eql(transaction_value)
11
+ end
12
+
13
+ it "has gross amount equal following Balanced's formula" do
14
+ expect(subject.gross_amount).to eql(1029.3)
15
+ end
16
+
17
+ it "has fees matching the difference between gross and net amounts" do
18
+ expect(subject.fees).to eql(29.3)
19
+ end
20
+ end
21
+
22
+ context "when gross amount does need more then 2 decimal places of precision" do
23
+ # Float gross amount is 1029.329
24
+ let(:transaction_value) { 1001.0 }
25
+
26
+ it "has net amount equal to transaction value" do
27
+ expect(subject.net_amount).to eql(transaction_value)
28
+ end
29
+
30
+ it "rounds gross amount up by two decimal places" do
31
+ expect(subject.gross_amount).to eql(1030.33)
32
+ end
33
+
34
+ it "has fees matching with the rounding" do
35
+ expect(subject.fees).to eql(29.33)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe Dune::Balanced::Creditcard::TransactionInclusiveFeeCalculator do
4
+ # Float net amount is 971.5257531584064
5
+ let(:transaction_value) { 1000.0 }
6
+ subject { described_class.new(transaction_value) }
7
+
8
+ it "has gross amount equal to transaction value" do
9
+ expect(subject.gross_amount).to eql(transaction_value)
10
+ end
11
+
12
+ it "rounds net amount down by two decimal places" do
13
+ expect(subject.net_amount).to eql(971.52)
14
+ end
15
+
16
+ it "has fees matching with the rounding" do
17
+ expect(subject.fees).to eql(28.48)
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ # Configure Rails Envinronment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require 'rspec/rails'
6
+
7
+ ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
8
+
9
+ # Requires supporting ruby files with custom matchers and macros, etc,
10
+ # in spec/support/ and its subdirectories.
11
+ Dir[File.join(ENGINE_RAILS_ROOT, "spec/support/**/*.rb")].each {|f| require f }
12
+
13
+ RSpec.configure do |config|
14
+ config.use_transactional_fixtures = true
15
+ end
metadata ADDED
@@ -0,0 +1,252 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dune-balanced-creditcard
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Legrand Pierre
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-02-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: dune-balanced
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '4.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '4.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: slim
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.14'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '2.14'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '1.3'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '1.3'
83
+ description: Integration with Balanced Payments on dune-investissement specifically
84
+ with Credit Cards.
85
+ email:
86
+ - legrand.work@gmail.com
87
+ executables:
88
+ - rails
89
+ extensions: []
90
+ extra_rdoc_files: []
91
+ files:
92
+ - .gitignore
93
+ - .rspec
94
+ - .travis.yml
95
+ - CHANGELOG.md
96
+ - Gemfile
97
+ - LICENSE.txt
98
+ - README.md
99
+ - Rakefile
100
+ - app/assets/images/dune/balanced/creditcard/.gitkeep
101
+ - app/assets/javascripts/dune-balanced-creditcard.js
102
+ - app/assets/javascripts/dune/balanced/creditcard/flash.js.coffee
103
+ - app/assets/javascripts/dune/balanced/creditcard/payments.js.coffee.erb
104
+ - app/assets/stylesheets/dune/balanced/creditcard/application.css
105
+ - app/controllers/dune/balanced/creditcard/application_controller.rb
106
+ - app/controllers/dune/balanced/creditcard/payments_controller.rb
107
+ - app/models/dune/balanced/creditcard/payment.rb
108
+ - app/models/dune/balanced/creditcard/transaction_additional_fee_calculator.rb
109
+ - app/models/dune/balanced/creditcard/transaction_fee_calculator_base.rb
110
+ - app/models/dune/balanced/creditcard/transaction_inclusive_fee_calculator.rb
111
+ - app/views/dune/balanced/creditcard/.gitkeep
112
+ - app/views/dune/balanced/creditcard/payments/new.html.slim
113
+ - bin/rails
114
+ - config/initializers/registration.rb
115
+ - config/locales/en.yml
116
+ - config/locales/simple_form.en.yml
117
+ - config/routes.rb
118
+ - dune-balanced-creditcard.gemspec
119
+ - lib/dune/balanced/creditcard.rb
120
+ - lib/dune/balanced/creditcard/engine.rb
121
+ - lib/dune/balanced/creditcard/interface.rb
122
+ - lib/dune/balanced/creditcard/version.rb
123
+ - lib/float_extensions.rb
124
+ - spec/controllers/neighborly/balanced/creditcard/payments_controller_spec.rb
125
+ - spec/dummy/README.rdoc
126
+ - spec/dummy/Rakefile
127
+ - spec/dummy/app/assets/images/.keep
128
+ - spec/dummy/app/assets/javascripts/application.js
129
+ - spec/dummy/app/assets/stylesheets/application.css
130
+ - spec/dummy/app/controllers/application_controller.rb
131
+ - spec/dummy/app/controllers/concerns/.keep
132
+ - spec/dummy/app/helpers/application_helper.rb
133
+ - spec/dummy/app/mailers/.keep
134
+ - spec/dummy/app/models/.keep
135
+ - spec/dummy/app/models/concerns/.keep
136
+ - spec/dummy/app/models/configuration.rb
137
+ - spec/dummy/app/models/contribution.rb
138
+ - spec/dummy/app/models/match.rb
139
+ - spec/dummy/app/models/payment_engine.rb
140
+ - spec/dummy/app/models/project.rb
141
+ - spec/dummy/app/models/user.rb
142
+ - spec/dummy/app/views/layouts/application.html.erb
143
+ - spec/dummy/bin/bundle
144
+ - spec/dummy/bin/rails
145
+ - spec/dummy/bin/rake
146
+ - spec/dummy/config.ru
147
+ - spec/dummy/config/application.rb
148
+ - spec/dummy/config/boot.rb
149
+ - spec/dummy/config/database.yml
150
+ - spec/dummy/config/environment.rb
151
+ - spec/dummy/config/environments/development.rb
152
+ - spec/dummy/config/environments/production.rb
153
+ - spec/dummy/config/environments/test.rb
154
+ - spec/dummy/config/initializers/backtrace_silencers.rb
155
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
156
+ - spec/dummy/config/initializers/inflections.rb
157
+ - spec/dummy/config/initializers/mime_types.rb
158
+ - spec/dummy/config/initializers/secret_token.rb
159
+ - spec/dummy/config/initializers/session_store.rb
160
+ - spec/dummy/config/initializers/wrap_parameters.rb
161
+ - spec/dummy/config/locales/en.yml
162
+ - spec/dummy/config/routes.rb
163
+ - spec/dummy/db/schema.rb
164
+ - spec/dummy/db/test.sqlite3
165
+ - spec/dummy/lib/assets/.keep
166
+ - spec/dummy/log/.keep
167
+ - spec/dummy/public/404.html
168
+ - spec/dummy/public/422.html
169
+ - spec/dummy/public/500.html
170
+ - spec/dummy/public/favicon.ico
171
+ - spec/lib/neighborly/balanced/creditcard/interface_spec.rb
172
+ - spec/models/neighborly/balanced/creditcard/payment_spec.rb
173
+ - spec/models/neighborly/balanced/creditcard/transaction_additional_fee_calculator_spec.rb
174
+ - spec/models/neighborly/balanced/creditcard/transaction_inclusive_fee_calculator_spec.rb
175
+ - spec/spec_helper.rb
176
+ homepage: https://github.com/FromUte/dune-balanced-creditcard
177
+ licenses:
178
+ - MIT
179
+ metadata: {}
180
+ post_install_message:
181
+ rdoc_options: []
182
+ require_paths:
183
+ - lib
184
+ required_ruby_version: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - '>='
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ required_rubygems_version: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ requirements: []
195
+ rubyforge_project:
196
+ rubygems_version: 2.0.14
197
+ signing_key:
198
+ specification_version: 4
199
+ summary: dune-investissement integration with Credit Card Balanced Payments.
200
+ test_files:
201
+ - spec/controllers/neighborly/balanced/creditcard/payments_controller_spec.rb
202
+ - spec/dummy/README.rdoc
203
+ - spec/dummy/Rakefile
204
+ - spec/dummy/app/assets/images/.keep
205
+ - spec/dummy/app/assets/javascripts/application.js
206
+ - spec/dummy/app/assets/stylesheets/application.css
207
+ - spec/dummy/app/controllers/application_controller.rb
208
+ - spec/dummy/app/controllers/concerns/.keep
209
+ - spec/dummy/app/helpers/application_helper.rb
210
+ - spec/dummy/app/mailers/.keep
211
+ - spec/dummy/app/models/.keep
212
+ - spec/dummy/app/models/concerns/.keep
213
+ - spec/dummy/app/models/configuration.rb
214
+ - spec/dummy/app/models/contribution.rb
215
+ - spec/dummy/app/models/match.rb
216
+ - spec/dummy/app/models/payment_engine.rb
217
+ - spec/dummy/app/models/project.rb
218
+ - spec/dummy/app/models/user.rb
219
+ - spec/dummy/app/views/layouts/application.html.erb
220
+ - spec/dummy/bin/bundle
221
+ - spec/dummy/bin/rails
222
+ - spec/dummy/bin/rake
223
+ - spec/dummy/config.ru
224
+ - spec/dummy/config/application.rb
225
+ - spec/dummy/config/boot.rb
226
+ - spec/dummy/config/database.yml
227
+ - spec/dummy/config/environment.rb
228
+ - spec/dummy/config/environments/development.rb
229
+ - spec/dummy/config/environments/production.rb
230
+ - spec/dummy/config/environments/test.rb
231
+ - spec/dummy/config/initializers/backtrace_silencers.rb
232
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
233
+ - spec/dummy/config/initializers/inflections.rb
234
+ - spec/dummy/config/initializers/mime_types.rb
235
+ - spec/dummy/config/initializers/secret_token.rb
236
+ - spec/dummy/config/initializers/session_store.rb
237
+ - spec/dummy/config/initializers/wrap_parameters.rb
238
+ - spec/dummy/config/locales/en.yml
239
+ - spec/dummy/config/routes.rb
240
+ - spec/dummy/db/schema.rb
241
+ - spec/dummy/db/test.sqlite3
242
+ - spec/dummy/lib/assets/.keep
243
+ - spec/dummy/log/.keep
244
+ - spec/dummy/public/404.html
245
+ - spec/dummy/public/422.html
246
+ - spec/dummy/public/500.html
247
+ - spec/dummy/public/favicon.ico
248
+ - spec/lib/neighborly/balanced/creditcard/interface_spec.rb
249
+ - spec/models/neighborly/balanced/creditcard/payment_spec.rb
250
+ - spec/models/neighborly/balanced/creditcard/transaction_additional_fee_calculator_spec.rb
251
+ - spec/models/neighborly/balanced/creditcard/transaction_inclusive_fee_calculator_spec.rb
252
+ - spec/spec_helper.rb