spree_mollie_gateway 0.1.1 → 1.0.0.pre.beta3

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 (32) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +3 -1
  3. data/.travis.yml +12 -1
  4. data/CONTRIBUTING.md +28 -0
  5. data/Gemfile.lock +322 -2
  6. data/README.md +29 -54
  7. data/Rakefile +19 -4
  8. data/app/controllers/spree/api/v1/mollie_controller.rb +16 -0
  9. data/app/controllers/spree/checkout_controller_decorator.rb +5 -6
  10. data/app/controllers/spree/mollie_controller.rb +20 -8
  11. data/app/models/mollie/client_decorator.rb +13 -0
  12. data/app/models/spree/gateway/mollie_gateway.rb +108 -53
  13. data/app/models/spree/mollie_logger.rb +9 -0
  14. data/app/models/spree/{mollie_transaction.rb → mollie_payment_source.rb} +7 -3
  15. data/app/models/spree/order_decorator.rb +24 -0
  16. data/app/models/spree/payment/processing_decorator.rb +8 -2
  17. data/app/models/spree/payment_decorator.rb +16 -0
  18. data/app/models/spree/user_decorator.rb +4 -2
  19. data/app/views/spree/checkout/payment/_molliegateway.html.erb +40 -3
  20. data/app/views/spree/shared/_payment.html.erb +1 -1
  21. data/config/routes.rb +11 -1
  22. data/db/migrate/{20180214133044_create_spree_mollie_transactions.rb → 20180214133044_create_spree_mollie_payment_sources.rb} +2 -2
  23. data/db/migrate/20180301084841_add_mollie_customer_id_to_spree_user.rb +2 -1
  24. data/docs/api/methods.md +61 -0
  25. data/docs/api/readme.md +7 -0
  26. data/docs/debugging.md +26 -0
  27. data/lib/spree_mollie_gateway/engine.rb +13 -3
  28. data/lib/spree_mollie_gateway/factories.rb +10 -0
  29. data/lib/spree_mollie_gateway/version.rb +1 -1
  30. data/spree_mollie_gateway.gemspec +27 -12
  31. metadata +231 -8
  32. data/app/models/mollie/provider.rb +0 -5
@@ -1,8 +1,10 @@
1
- Spree::User.class_eval do
1
+ Spree.user_class.class_eval do
2
2
  after_create :create_mollie_customer
3
3
 
4
4
  def create_mollie_customer
5
- mollie_gateway = Spree::PaymentMethod.find_by_type('Spree::Gateway::MollieGateway')
5
+ # Don't create Mollie customers is spree_auth_devise is not installed.
6
+ return unless defined? Spree::User
7
+ mollie_gateway = Spree::PaymentMethod.find_by_type 'Spree::Gateway::MollieGateway'
6
8
  mollie_customer = mollie_gateway.create_customer(self)
7
9
  update mollie_customer_id: mollie_customer.id
8
10
  end
@@ -1,12 +1,49 @@
1
1
  <ul class="list-group">
2
2
  <% payment_method.available_payment_methods.each do |method| %>
3
- <div class="radio list-group-item clearfix">
3
+ <% prefix = "payment_source[#{payment_method.id}]" %>
4
+ <div class="radio list-group-item">
4
5
 
5
- <label class="pull-left">
6
- <%= radio_button("payment_source[#{payment_method.id}]", :payment_method_name, method.id) %>
6
+ <label>
7
+ <%= radio_button(prefix, :payment_method_name, method.id, class: 'js-mollie-payment-method') %>
7
8
  <%= image_tag(method.image['normal']) %>
8
9
  <%= method.description %>
9
10
  </label>
11
+
12
+ <%= select_tag "#{prefix}[issuer]", options_for_select(method.issuers.collect {|p| [p['name'], p['id']]}), {class: 'form-control js-mollie-issuers mollie-issuer-list', disabled: true, prompt: 'Select an issuer', data: {method: method.id}} if method.issuers.present? %>
10
13
  </div>
11
14
  <% end %>
12
15
  </ul>
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ /**
19
+ * Make sure the issuer select boxes are disabled by default to prevent empty issuer submissions.
20
+ */
21
+ var paymentMethodRadioElements = document.querySelectorAll('.js-mollie-payment-method');
22
+
23
+ function disableAllIssuerSelectBoxes() {
24
+ var issuerSelectElements = document.querySelectorAll('.js-mollie-issuers');
25
+ for (var i = 0; i < issuerSelectElements.length; i++) {
26
+ issuerSelectElements[i].setAttribute('disabled', 'true');
27
+ }
28
+ }
29
+
30
+ for (var i = 0; i < paymentMethodRadioElements.length; i++) {
31
+ paymentMethodRadioElements[i].addEventListener('change', function (e) {
32
+ disableAllIssuerSelectBoxes();
33
+ var issuerSelect = document.querySelector('[data-method="' + e.target.value + '"]');
34
+ if (issuerSelect) {
35
+ issuerSelect.removeAttribute('disabled');
36
+ }
37
+ });
38
+ }
39
+ </script>
40
+
41
+ <style type="text/css">
42
+ .mollie-issuer-list {
43
+ margin-top: 15px;
44
+ }
45
+
46
+ .mollie-issuer-list[disabled] {
47
+ display: none;
48
+ }
49
+ </style>
@@ -11,7 +11,7 @@
11
11
  </span>
12
12
  <br />
13
13
  <span class="full-name"><%= source.name %></span>
14
- <% elsif source.is_a?(Spree::MollieTransaction) %>
14
+ <% elsif source.is_a?(Spree::MolliePaymentSource) %>
15
15
  <span class="full-name"><%= source.name %></span>
16
16
  <% else %>
17
17
  <%= content_tag(:span, payment.payment_method.name) %>
data/config/routes.rb CHANGED
@@ -1,6 +1,16 @@
1
- Spree::Core::Engine.add_routes do
1
+ Spree::Core::Engine.routes.draw do
2
2
  resource :mollie, only: [], controller: :mollie do
3
3
  post 'update_payment_status/:order_number', action: :update_payment_status, as: 'mollie_update_payment_status'
4
4
  get 'validate_payment/:order_number', action: :validate_payment, as: 'mollie_validate_payment'
5
5
  end
6
+
7
+ namespace :api do
8
+ namespace :v1 do
9
+ resources :mollie, only: [] do
10
+ collection do
11
+ get :methods
12
+ end
13
+ end
14
+ end
15
+ end
6
16
  end
@@ -1,6 +1,6 @@
1
- class CreateSpreeMollieTransactions < ActiveRecord::Migration[5.1]
1
+ class CreateSpreeMolliePaymentSources < ActiveRecord::Migration[5.1]
2
2
  def change
3
- create_table :spree_mollie_transactions do |t|
3
+ create_table :spree_mollie_payment_sources do |t|
4
4
  t.string :payment_id
5
5
  t.string :payment_method_name
6
6
  t.string :issuer
@@ -1,5 +1,6 @@
1
1
  class AddMollieCustomerIdToSpreeUser < ActiveRecord::Migration[5.1]
2
2
  def change
3
- add_column :spree_users, :mollie_customer_id, :string
3
+ return unless Spree::Gateway::MollieGateway.allow_one_click_payments?
4
+ add_column Spree.user_class.table_name, :mollie_customer_id, :string
4
5
  end
5
6
  end
@@ -0,0 +1,61 @@
1
+ # Get Mollie payment methods
2
+
3
+ Returns a list of Mollie payment methods (and its issuers) which are enabled for your website profile.
4
+
5
+ ## Parameters
6
+ This endpoint behaves just like very other Spree API endpoint. If your endpoints require authentication, make sure you sent the `X-Spree-Token` header.
7
+
8
+ ## Example request
9
+
10
+ ```bash
11
+ curl "http://localhost:3000/api/v1/mollie/methods" \
12
+ -H 'Content-Type: application/json; charset=utf-8'
13
+ ```
14
+
15
+ ## Example response
16
+
17
+ ```bash
18
+ HTTP/1.1 200 OK
19
+ Content-Type: application/json; charset=utf-8
20
+
21
+ [
22
+ {
23
+ "attributes": {
24
+ "resource": "method",
25
+ "id": "ideal",
26
+ "description": "iDEAL",
27
+ "amount": {
28
+ "minimum": "0.01",
29
+ "maximum": "50000.00"
30
+ },
31
+ "image": {
32
+ "normal": "https://www.mollie.com/images/payscreen/methods/ideal.png",
33
+ "bigger": "https://www.mollie.com/images/payscreen/methods/ideal%402x.png"
34
+ },
35
+ "issuers": [
36
+ {
37
+ "resource": "issuer",
38
+ "id": "ideal_TESTNL99",
39
+ "name": "TBM Bank",
40
+ "method": "ideal",
41
+ "image": {
42
+ "normal": "https://www.mollie.com/images/checkout/v2/ideal-issuer-icons/TESTNL99.png",
43
+ "bigger": "https://www.mollie.com/images/checkout/v2/ideal-issuer-icons/TESTNL99%402x.png"
44
+ }
45
+ }
46
+ ]
47
+ },
48
+ "id": "ideal",
49
+ "description": "iDEAL",
50
+ "amount": {
51
+ "minimum": "0.01",
52
+ "maximum": "50000.00"
53
+ },
54
+ "image": {
55
+ "normal": "https://www.mollie.com/images/payscreen/methods/ideal.png",
56
+ "bigger": "https://www.mollie.com/images/payscreen/methods/ideal%402x.png"
57
+ }
58
+ }
59
+ ]
60
+
61
+ ```
@@ -0,0 +1,7 @@
1
+ # Spree API integration
2
+
3
+ This gateway seamlessly integrates with the <a href="https://guides.spreecommerce.org/api/">Spree API</a>.
4
+
5
+ ## Endpoints
6
+
7
+ - <a href="methods.md">Get Mollie payment methods</a>
data/docs/debugging.md ADDED
@@ -0,0 +1,26 @@
1
+ # Debugging
2
+
3
+ The Mollie gateway keeps track of all events which are related to payment details and payment state updates. It uses a separate log, which is located in `log/mollie.log`.
4
+
5
+ ## Example
6
+
7
+ ```
8
+ ❯ tail -fn20 log/mollie.log
9
+ D, [2018-03-17T16:48:43.881508 #45974] DEBUG -- : About to create payment for order R066092806-P9ND5B3J
10
+ D, [2018-03-17T16:48:44.081895 #45974] DEBUG -- : Payment tr_12345678 created for order R066092806-P9ND5B3J
11
+ D, [2018-03-17T16:48:44.104215 #45974] DEBUG -- : For order R066092806 redirect user to payment URL: https://www.mollie.com/paymentscreen/issuer/select/ideal
12
+ D, [2018-03-17T16:48:49.488303 #45974] DEBUG -- : Webhook called for payment tr_12345678
13
+ D, [2018-03-17T16:48:49.697996 #45974] DEBUG -- : Updating order state for payment. Payment has state paid
14
+ D, [2018-03-17T16:48:49.788303 #45974] DEBUG -- : Redirect URL visited for order R066092806-P9ND5B3J
15
+ D, [2018-03-17T16:48:50.927236 #45974] DEBUG -- : Created a Mollie Customer for Spree user with ID cst_234890239
16
+ D, [2018-03-17T16:55:13.466887 #45974] DEBUG -- : About to create payment for order R287180370-PAP5KQV3
17
+ D, [2018-03-17T16:55:13.572465 #45974] DEBUG -- : Payment tr_12345678 created for order R287180370-PAP5KQV3
18
+ D, [2018-03-17T16:55:26.796272 #45974] DEBUG -- : Webhook called for payment tr_12345678
19
+ D, [2018-03-17T16:55:28.298622 #45974] DEBUG -- : Updating order state for payment. Payment has state paid
20
+ D, [2018-03-17T16:55:28.384232 #45974] DEBUG -- : Redirect URL visited for order R287180370-PAP5KQV3
21
+ D, [2018-03-17T17:11:06.855310 #45974] DEBUG -- : Webhook called for payment tr_12345678
22
+ D, [2018-03-17T17:11:09.569485 #45974] DEBUG -- : Updating order state for payment. Payment has state expired
23
+ D, [2018-03-18T13:58:14.360501 #54712] DEBUG -- : Starting refund for order R287180370
24
+ D, [2018-03-18T13:58:18.992075 #54712] DEBUG -- : Successfully refunded 0.01 for order R287180370
25
+ D, [2018-03-18T14:12:10.495217 #54712] DEBUG -- : Could not create payment for order R541579556-PEKXA7RN: Unauthorized request
26
+ ```
@@ -1,18 +1,28 @@
1
- require 'mollie-api-ruby'
2
-
3
1
  module SpreeMollieGateway
4
2
  class Engine < ::Rails::Engine
3
+ require 'spree/core'
4
+ require 'mollie-api-ruby'
5
+
5
6
  isolate_namespace SpreeMollieGateway
6
7
 
7
8
  config.autoload_paths += %W(#{config.root}/lib)
8
9
 
10
+ # Use rspec for tests
11
+ config.generators do |g|
12
+ g.test_framework :rspec
13
+ end
14
+
9
15
  def self.activate
10
16
  Dir.glob(File.join(File.dirname(__FILE__), "../../app/**/*_decorator*.rb")) do |c|
11
17
  Rails.configuration.cache_classes ? require(c) : load(c)
12
18
  end
13
19
 
14
- Rails.application.config.spree.payment_methods << Spree::Gateway::MollieGateway
20
+ ::Rails.application.config.spree.payment_methods << Spree::Gateway::MollieGateway
15
21
  Spree::PermittedAttributes.source_attributes << :payment_method_name
22
+ Spree::PermittedAttributes.source_attributes << :issuer
23
+ Spree::Api::ApiHelpers.payment_source_attributes << :payment_method_name
24
+ Spree::Api::ApiHelpers.payment_source_attributes << :issuer
25
+ Spree::Api::ApiHelpers.payment_source_attributes << :payment_url
16
26
  end
17
27
 
18
28
  config.to_prepare &method(:activate).to_proc
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ # Define your Spree extensions Factories within this file to enable applications, and other extensions to use and override them.
3
+ #
4
+ # Example adding this to your spec_helper will load these Factories for use:
5
+ # require 'spree_mollie_gateway/factories'
6
+
7
+ Dir[Dir.pwd + '/spec/factories/**/*'].each do |factory|
8
+ require File.expand_path(factory)
9
+ end
10
+ end
@@ -1,3 +1,3 @@
1
1
  module SpreeMollieGateway
2
- VERSION = '0.1.1'
2
+ VERSION = '1.0.0-beta3'
3
3
  end
@@ -1,17 +1,16 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "spree_mollie_gateway/version"
3
+ require 'spree_mollie_gateway/version'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
- spec.name = "spree_mollie_gateway"
6
+ spec.name = 'spree_mollie_gateway'
8
7
  spec.version = SpreeMollieGateway::VERSION
9
- spec.authors = ["Vernon de Goede"]
10
- spec.email = ["vernon@mollie.com"]
8
+ spec.authors = ['Vernon de Goede']
9
+ spec.email = ['vernon@mollie.com']
11
10
 
12
11
  spec.summary = %q{Mollie payments for Spree Commerce.}
13
12
  spec.description = %q{Mollie payment gateway for Spree Commerce.}
14
- spec.homepage = "https://www.mollie.com"
13
+ spec.homepage = 'https://www.mollie.com'
15
14
 
16
15
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
17
16
  # to allow pushing to a single host or delete this section to allow pushing to any host.
@@ -25,13 +24,29 @@ Gem::Specification.new do |spec|
25
24
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
26
25
  f.match(%r{^(test|spec|features)/})
27
26
  end
28
- spec.bindir = "exe"
27
+ spec.bindir = 'exe'
29
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
- spec.require_paths = ["lib"]
29
+ spec.require_paths = ['lib']
30
+
31
+ spree_version = '>= 3.1.0', '< 4.0'
32
+ spec.add_dependency 'spree_core', spree_version
33
+ spec.add_dependency 'spree_backend', spree_version
34
+ spec.add_dependency 'spree_frontend', spree_version
35
+ spec.add_dependency 'spree_extension'
31
36
 
32
- spec.add_development_dependency "bundler", "~> 1.16"
33
- spec.add_development_dependency "rake", "~> 10.0"
34
- spec.add_development_dependency "rspec", "~> 3.0"
37
+ spec.add_development_dependency 'factory_bot'
38
+ spec.add_development_dependency 'bundler', '~> 1.16'
39
+ spec.add_development_dependency 'rake', '~> 10.0'
40
+ spec.add_development_dependency 'rspec', '~> 3.0'
41
+ spec.add_development_dependency 'rspec-rails', '~> 3.7.2'
42
+ spec.add_development_dependency 'ffaker'
43
+ spec.add_development_dependency 'sass-rails'
44
+ spec.add_development_dependency 'selenium-webdriver'
45
+ spec.add_development_dependency 'simplecov'
46
+ spec.add_development_dependency 'sqlite3'
47
+ spec.add_development_dependency 'mysql2'
48
+ spec.add_development_dependency 'coffee-rails'
49
+ spec.add_development_dependency 'database_cleaner'
35
50
 
36
51
  spec.add_runtime_dependency 'mollie-api-ruby', '~> 3.1', '>= 3.1.3'
37
52
  end
metadata CHANGED
@@ -1,15 +1,103 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_mollie_gateway
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 1.0.0.pre.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vernon de Goede
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-01 00:00:00.000000000 Z
11
+ date: 2018-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: spree_core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.1.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '4.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 3.1.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '4.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: spree_backend
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 3.1.0
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '4.0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 3.1.0
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '4.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: spree_frontend
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 3.1.0
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '4.0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 3.1.0
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '4.0'
73
+ - !ruby/object:Gem::Dependency
74
+ name: spree_extension
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ - !ruby/object:Gem::Dependency
88
+ name: factory_bot
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
13
101
  - !ruby/object:Gem::Dependency
14
102
  name: bundler
15
103
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +140,132 @@ dependencies:
52
140
  - - "~>"
53
141
  - !ruby/object:Gem::Version
54
142
  version: '3.0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: rspec-rails
145
+ requirement: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: 3.7.2
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - "~>"
155
+ - !ruby/object:Gem::Version
156
+ version: 3.7.2
157
+ - !ruby/object:Gem::Dependency
158
+ name: ffaker
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ type: :development
165
+ prerelease: false
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: '0'
171
+ - !ruby/object:Gem::Dependency
172
+ name: sass-rails
173
+ requirement: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ type: :development
179
+ prerelease: false
180
+ version_requirements: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ - !ruby/object:Gem::Dependency
186
+ name: selenium-webdriver
187
+ requirement: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ type: :development
193
+ prerelease: false
194
+ version_requirements: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ - !ruby/object:Gem::Dependency
200
+ name: simplecov
201
+ requirement: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ type: :development
207
+ prerelease: false
208
+ version_requirements: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ - !ruby/object:Gem::Dependency
214
+ name: sqlite3
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ - !ruby/object:Gem::Dependency
228
+ name: mysql2
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ">="
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: '0'
241
+ - !ruby/object:Gem::Dependency
242
+ name: coffee-rails
243
+ requirement: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: '0'
248
+ type: :development
249
+ prerelease: false
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
255
+ - !ruby/object:Gem::Dependency
256
+ name: database_cleaner
257
+ requirement: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - ">="
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :development
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ requirements:
266
+ - - ">="
267
+ - !ruby/object:Gem::Version
268
+ version: '0'
55
269
  - !ruby/object:Gem::Dependency
56
270
  name: mollie-api-ruby
57
271
  requirement: !ruby/object:Gem::Requirement
@@ -82,16 +296,21 @@ files:
82
296
  - ".gitignore"
83
297
  - ".rspec"
84
298
  - ".travis.yml"
299
+ - CONTRIBUTING.md
85
300
  - Gemfile
86
301
  - Gemfile.lock
87
302
  - README.md
88
303
  - Rakefile
304
+ - app/controllers/spree/api/v1/mollie_controller.rb
89
305
  - app/controllers/spree/checkout_controller_decorator.rb
90
306
  - app/controllers/spree/mollie_controller.rb
91
- - app/models/mollie/provider.rb
307
+ - app/models/mollie/client_decorator.rb
92
308
  - app/models/spree/gateway/mollie_gateway.rb
93
- - app/models/spree/mollie_transaction.rb
309
+ - app/models/spree/mollie_logger.rb
310
+ - app/models/spree/mollie_payment_source.rb
311
+ - app/models/spree/order_decorator.rb
94
312
  - app/models/spree/payment/processing_decorator.rb
313
+ - app/models/spree/payment_decorator.rb
95
314
  - app/models/spree/user_decorator.rb
96
315
  - app/views/spree/admin/payments/source_forms/_molliegateway.html.erb
97
316
  - app/views/spree/admin/payments/source_views/_molliegateway.html.erb
@@ -100,11 +319,15 @@ files:
100
319
  - bin/console
101
320
  - bin/setup
102
321
  - config/routes.rb
103
- - db/migrate/20180214133044_create_spree_mollie_transactions.rb
322
+ - db/migrate/20180214133044_create_spree_mollie_payment_sources.rb
104
323
  - db/migrate/20180301084841_add_mollie_customer_id_to_spree_user.rb
324
+ - docs/api/methods.md
325
+ - docs/api/readme.md
326
+ - docs/debugging.md
105
327
  - lib/generators/spree_mollie_gateway/install/install_generator.rb
106
328
  - lib/spree_mollie_gateway.rb
107
329
  - lib/spree_mollie_gateway/engine.rb
330
+ - lib/spree_mollie_gateway/factories.rb
108
331
  - lib/spree_mollie_gateway/version.rb
109
332
  - spree_mollie_gateway.gemspec
110
333
  homepage: https://www.mollie.com
@@ -122,12 +345,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
122
345
  version: '0'
123
346
  required_rubygems_version: !ruby/object:Gem::Requirement
124
347
  requirements:
125
- - - ">="
348
+ - - ">"
126
349
  - !ruby/object:Gem::Version
127
- version: '0'
350
+ version: 1.3.1
128
351
  requirements: []
129
352
  rubyforge_project:
130
- rubygems_version: 2.6.14
353
+ rubygems_version: 2.7.6
131
354
  signing_key:
132
355
  specification_version: 4
133
356
  summary: Mollie payments for Spree Commerce.