solidus_stripe 4.4.1 → 5.0.0.alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +92 -52
- data/.gitignore +3 -0
- data/.rubocop.yml +94 -4
- data/.yardopts +1 -0
- data/Gemfile +10 -30
- data/LICENSE +2 -2
- data/Procfile.dev +3 -0
- data/README.md +145 -215
- data/Rakefile +5 -44
- data/app/assets/javascripts/spree/backend/solidus_stripe.js +2 -0
- data/app/assets/stylesheets/spree/backend/solidus_stripe.css +4 -0
- data/app/controllers/solidus_stripe/intents_controller.rb +36 -52
- data/app/controllers/solidus_stripe/webhooks_controller.rb +28 -0
- data/app/models/concerns/solidus_stripe/log_entries.rb +31 -0
- data/app/models/solidus_stripe/customer.rb +21 -0
- data/app/models/solidus_stripe/gateway.rb +231 -0
- data/app/models/solidus_stripe/payment_intent.rb +111 -0
- data/app/models/solidus_stripe/payment_method.rb +106 -0
- data/app/models/solidus_stripe/payment_source.rb +31 -0
- data/app/models/solidus_stripe/slug_entry.rb +20 -0
- data/app/models/solidus_stripe.rb +7 -0
- data/app/subscribers/solidus_stripe/webhook/charge_subscriber.rb +28 -0
- data/app/subscribers/solidus_stripe/webhook/payment_intent_subscriber.rb +112 -0
- data/app/views/spree/admin/payments/source_forms/_stripe.html.erb +29 -0
- data/app/views/spree/admin/payments/source_forms/existing_payment/_stripe.html.erb +14 -0
- data/app/views/spree/admin/payments/source_forms/existing_payment/stripe/_card.html.erb +8 -0
- data/app/views/spree/admin/payments/source_forms/existing_payment/stripe/_default.html.erb +7 -0
- data/app/views/spree/admin/payments/source_views/_stripe.html.erb +15 -0
- data/app/views/spree/api/payments/source_views/_stripe.json.jbuilder +8 -0
- data/bin/dev +13 -0
- data/bin/dummy-app +29 -0
- data/bin/rails +38 -3
- data/bin/rails-dummy-app +3 -0
- data/bin/rails-engine +1 -11
- data/bin/rails-new +55 -0
- data/bin/rails-sandbox +1 -14
- data/bin/rspec +10 -0
- data/bin/sandbox +12 -74
- data/bin/setup +1 -0
- data/bin/update-migrations +56 -0
- data/codecov.yml +12 -0
- data/config/locales/en.yml +16 -1
- data/config/routes.rb +5 -11
- data/coverage.rb +42 -0
- data/db/migrate/20230109183332_create_solidus_stripe_payment_sources.rb +10 -0
- data/db/migrate/20230303154931_create_solidus_stripe_setup_intent.rb +10 -0
- data/db/migrate/20230306105520_create_solidus_stripe_payment_intents.rb +10 -0
- data/db/migrate/20230308122414_create_solidus_stripe_webhook_endpoints.rb +10 -0
- data/db/migrate/20230310152615_add_payment_method_reference_to_stripe_intents.rb +6 -0
- data/db/migrate/20230310171444_normalize_stripe_intent_id_attributes.rb +6 -0
- data/db/migrate/20230313150008_create_solidus_stripe_customers.rb +16 -0
- data/db/migrate/20230323154931_drop_solidus_stripe_setup_intent.rb +13 -0
- data/db/migrate/20230403094916_rename_webhook_endpoint_to_payment_method_slug_entries.rb +5 -0
- data/db/seeds.rb +6 -24
- data/lib/generators/solidus_stripe/install/install_generator.rb +121 -14
- data/lib/generators/solidus_stripe/install/templates/app/assets/stylesheets/spree/frontend/solidus_stripe.css +13 -0
- data/lib/generators/solidus_stripe/install/templates/app/javascript/controllers/solidus_stripe_confirm_controller.js +39 -0
- data/lib/generators/solidus_stripe/install/templates/app/javascript/controllers/solidus_stripe_payment_controller.js +89 -0
- data/lib/generators/solidus_stripe/install/templates/app/views/checkouts/existing_payment/_stripe.html.erb +16 -0
- data/lib/generators/solidus_stripe/install/templates/app/views/checkouts/existing_payment/stripe/_card.html.erb +8 -0
- data/lib/generators/solidus_stripe/install/templates/app/views/checkouts/existing_payment/stripe/_default.html.erb +7 -0
- data/lib/generators/solidus_stripe/install/templates/app/views/checkouts/payment/_stripe.html.erb +39 -0
- data/lib/generators/solidus_stripe/install/templates/app/views/orders/payment_info/_stripe.html.erb +20 -0
- data/lib/generators/solidus_stripe/install/templates/config/initializers/solidus_stripe.rb +31 -0
- data/lib/solidus_stripe/configuration.rb +24 -3
- data/lib/solidus_stripe/engine.rb +19 -6
- data/lib/solidus_stripe/money_to_stripe_amount_converter.rb +109 -0
- data/lib/solidus_stripe/refunds_synchronizer.rb +96 -0
- data/lib/solidus_stripe/seeds.rb +19 -0
- data/lib/solidus_stripe/testing_support/factories.rb +153 -0
- data/lib/solidus_stripe/version.rb +1 -1
- data/lib/solidus_stripe/webhook/event.rb +90 -0
- data/lib/solidus_stripe.rb +0 -2
- data/solidus_stripe.gemspec +29 -6
- data/spec/lib/solidus_stripe/configuration_spec.rb +21 -0
- data/spec/lib/solidus_stripe/money_to_stripe_amount_converter_spec.rb +133 -0
- data/spec/lib/solidus_stripe/refunds_synchronizer_spec.rb +238 -0
- data/spec/lib/solidus_stripe/seeds_spec.rb +43 -0
- data/spec/lib/solidus_stripe/webhook/event_spec.rb +134 -0
- data/spec/models/concerns/solidus_stripe/log_entries_spec.rb +54 -0
- data/spec/models/solidus_stripe/customer_spec.rb +47 -0
- data/spec/models/solidus_stripe/gateway_spec.rb +283 -0
- data/spec/models/solidus_stripe/payment_intent_spec.rb +17 -0
- data/spec/models/solidus_stripe/payment_method_spec.rb +137 -0
- data/spec/models/solidus_stripe/payment_source_spec.rb +25 -0
- data/spec/requests/solidus_stripe/intents_controller_spec.rb +29 -0
- data/spec/requests/solidus_stripe/webhooks_controller/charge/refunded_spec.rb +31 -0
- data/spec/requests/solidus_stripe/webhooks_controller/payment_intent/canceled_spec.rb +23 -0
- data/spec/requests/solidus_stripe/webhooks_controller/payment_intent/payment_failed_spec.rb +23 -0
- data/spec/requests/solidus_stripe/webhooks_controller/payment_intent/succeeded_spec.rb +29 -0
- data/spec/requests/solidus_stripe/webhooks_controller_spec.rb +52 -0
- data/spec/solidus_stripe_spec_helper.rb +10 -0
- data/spec/subscribers/solidus_stripe/webhook/charge_subscriber_spec.rb +33 -0
- data/spec/subscribers/solidus_stripe/webhook/payment_intent_subscriber_spec.rb +297 -0
- data/spec/support/solidus_stripe/backend_test_helper.rb +210 -0
- data/spec/support/solidus_stripe/checkout_test_helper.rb +339 -0
- data/spec/support/solidus_stripe/factories.rb +5 -0
- data/spec/support/solidus_stripe/webhook/data_fixtures.rb +106 -0
- data/spec/support/solidus_stripe/webhook/event_with_context_factory.rb +82 -0
- data/spec/support/solidus_stripe/webhook/request_helper.rb +32 -0
- data/spec/system/backend/solidus_stripe/orders/payments_spec.rb +119 -0
- data/spec/system/frontend/.keep +0 -0
- data/spec/system/frontend/solidus_stripe/checkout_spec.rb +187 -0
- data/tmp/.keep +0 -0
- metadata +202 -78
- data/.rubocop_todo.yml +0 -298
- data/.travis.yml +0 -28
- data/app/assets/javascripts/spree/frontend/solidus_stripe/stripe-cart-page-checkout.js +0 -122
- data/app/assets/javascripts/spree/frontend/solidus_stripe/stripe-elements.js +0 -148
- data/app/assets/javascripts/spree/frontend/solidus_stripe/stripe-init.js +0 -20
- data/app/assets/javascripts/spree/frontend/solidus_stripe/stripe-payment-intents.js +0 -84
- data/app/assets/javascripts/spree/frontend/solidus_stripe/stripe-payment-request-button-shared.js +0 -160
- data/app/assets/javascripts/spree/frontend/solidus_stripe/stripe-payment.js +0 -16
- data/app/assets/javascripts/spree/frontend/solidus_stripe.js +0 -6
- data/app/controllers/solidus_stripe/payment_request_controller.rb +0 -52
- data/app/controllers/spree/stripe_controller.rb +0 -13
- data/app/decorators/models/spree/order_update_attributes_decorator.rb +0 -39
- data/app/decorators/models/spree/payment_decorator.rb +0 -11
- data/app/decorators/models/spree/refund_decorator.rb +0 -9
- data/app/models/solidus_stripe/address_from_params_service.rb +0 -72
- data/app/models/solidus_stripe/create_intents_payment_service.rb +0 -114
- data/app/models/solidus_stripe/prepare_order_for_payment_service.rb +0 -46
- data/app/models/solidus_stripe/shipping_rates_service.rb +0 -46
- data/app/models/spree/payment_method/stripe_credit_card.rb +0 -230
- data/bin/r +0 -13
- data/bin/sandbox_rails +0 -18
- data/db/migrate/20181010123508_update_stripe_payment_method_type_to_credit_card.rb +0 -21
- data/lib/assets/stylesheets/spree/frontend/solidus_stripe.scss +0 -11
- data/lib/solidus_stripe/testing_support/card_input_helper.rb +0 -34
- data/lib/tasks/solidus_stripe/db/seed.rake +0 -14
- data/lib/views/api/spree/api/payments/source_views/_stripe.json.jbuilder +0 -3
- data/lib/views/backend/spree/admin/log_entries/_stripe.html.erb +0 -28
- data/lib/views/backend/spree/admin/payments/source_forms/_stripe.html.erb +0 -1
- data/lib/views/backend/spree/admin/payments/source_views/_stripe.html.erb +0 -1
- data/lib/views/frontend/spree/checkout/existing_payment/_stripe.html.erb +0 -1
- data/lib/views/frontend/spree/checkout/payment/_stripe.html.erb +0 -8
- data/lib/views/frontend/spree/checkout/payment/v2/_javascript.html.erb +0 -78
- data/lib/views/frontend/spree/checkout/payment/v3/_elements.html.erb +0 -1
- data/lib/views/frontend/spree/checkout/payment/v3/_form_elements.html.erb +0 -40
- data/lib/views/frontend/spree/checkout/payment/v3/_intents.html.erb +0 -1
- data/lib/views/frontend/spree/checkout/payment/v3/_stripe.html.erb +0 -2
- data/lib/views/frontend/spree/orders/_stripe_payment_request_button.html.erb +0 -14
- data/spec/features/stripe_checkout_spec.rb +0 -486
- data/spec/models/solidus_stripe/address_from_params_service_spec.rb +0 -87
- data/spec/models/solidus_stripe/create_intents_payment_service_spec.rb +0 -127
- data/spec/models/solidus_stripe/prepare_order_for_payment_service_spec.rb +0 -65
- data/spec/models/solidus_stripe/shipping_rates_service_spec.rb +0 -54
- data/spec/models/spree/payment_method/stripe_credit_card_spec.rb +0 -354
- data/spec/requests/payment_requests_spec.rb +0 -152
- data/spec/solidus_frontend_app_template.rb +0 -17
- data/spec/spec_helper.rb +0 -37
- data/spec/support/solidus_address_helper.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58adb3a4786a07b4728a38452a8b45389e4947078a6696c421e66d9202bec935
|
4
|
+
data.tar.gz: ceb39ec60811d59e8544cef740d470b41fdfa2b7dad668c557e5f7a55622536c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2964495f7edeab038c993972069bd72788b7c978a738889277eecfe2c688c62a124e25e9b511d483ee6df67accb33d0bdb311f718cb97d883a6f9bd306de09e
|
7
|
+
data.tar.gz: 24547d5de71774cfdb1c82b955118067f9abb27a472a2d0d767ed5d21a12f997d5e60cdef3ebbe0298bb2916ec789d850a80bb3d9fd3d1310941d4c7b26be7b5
|
data/.circleci/config.yml
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
version: 2.1
|
2
2
|
|
3
3
|
orbs:
|
4
|
-
# Required for feature specs.
|
5
4
|
browser-tools: circleci/browser-tools@1.1
|
5
|
+
codecov: codecov/codecov@3.2.4
|
6
6
|
|
7
7
|
# Always take the latest version of the orb, this allows us to
|
8
8
|
# run specs against Solidus supported versions only without the need
|
@@ -11,65 +11,105 @@ orbs:
|
|
11
11
|
solidusio_extensions: solidusio/extensions@volatile
|
12
12
|
|
13
13
|
jobs:
|
14
|
-
run-specs
|
14
|
+
run-specs:
|
15
|
+
parameters:
|
16
|
+
database:
|
17
|
+
type: string
|
18
|
+
default: postgres
|
19
|
+
ruby:
|
20
|
+
type: string
|
21
|
+
default: "3.2"
|
22
|
+
coverage:
|
23
|
+
type: boolean
|
24
|
+
default: false
|
15
25
|
executor:
|
16
|
-
name: solidusio_extensions
|
17
|
-
ruby_version:
|
18
|
-
environment:
|
19
|
-
FRONTEND: "/home/circleci/project/spec/solidus_frontend_app_template.rb"
|
20
|
-
AUTHENTICATION: "devise"
|
26
|
+
name: solidusio_extensions/<< parameters.database >>
|
27
|
+
ruby_version: << parameters.ruby >>
|
21
28
|
steps:
|
22
|
-
- browser-tools/install-chrome
|
23
|
-
- checkout
|
24
|
-
- solidusio_extensions/dependencies
|
25
|
-
- solidusio_extensions/run-tests-solidus-main
|
26
|
-
- solidusio_extensions/store-test-results
|
27
|
-
|
28
|
-
run-specs-with-mysql:
|
29
|
-
executor:
|
30
|
-
name: solidusio_extensions/mysql
|
31
|
-
ruby_version: "3.1"
|
32
|
-
environment:
|
33
|
-
FRONTEND: "/home/circleci/project/spec/solidus_frontend_app_template.rb"
|
34
|
-
steps:
|
35
|
-
- browser-tools/install-chrome
|
36
29
|
- checkout
|
37
|
-
- solidusio_extensions/dependencies
|
38
|
-
- solidusio_extensions/run-tests-solidus-current
|
39
|
-
- solidusio_extensions/store-test-results
|
40
|
-
run-specs-with-sqlite:
|
41
|
-
executor:
|
42
|
-
name: solidusio_extensions/sqlite
|
43
|
-
ruby_version: "3.0"
|
44
|
-
steps:
|
45
30
|
- browser-tools/install-chrome
|
46
|
-
-
|
47
|
-
|
48
|
-
|
49
|
-
|
31
|
+
- run:
|
32
|
+
name: Install libvips
|
33
|
+
command: |
|
34
|
+
sudo apt-get update
|
35
|
+
sudo apt-get install -yq libvips-dev
|
36
|
+
- run:
|
37
|
+
name: "Update Rubygems"
|
38
|
+
command: |
|
39
|
+
sudo gem update --system --no-document
|
40
|
+
gem install bundler --no-document
|
41
|
+
gem environment path
|
42
|
+
- run:
|
43
|
+
name: "Store tool versions"
|
44
|
+
command: |
|
45
|
+
rm -rf /tmp/.tool-versions
|
46
|
+
ruby -v >> /tmp/.tool-versions
|
47
|
+
gem search -eq rails >> /tmp/.tool-versions # get the latest rails from rubygems
|
48
|
+
gem search -eq solidus >> /tmp/.tool-versions # get the latest solidus from rubygems
|
49
|
+
cat /tmp/.tool-versions
|
50
|
+
- restore_cache:
|
51
|
+
keys:
|
52
|
+
- solidus-stripe-gems-v1-{{ checksum "/tmp/.tool-versions" }}
|
53
|
+
- solidus-stripe-gems-v1-
|
54
|
+
- run:
|
55
|
+
name: "Install gems"
|
56
|
+
command: |
|
57
|
+
bundle install
|
58
|
+
- run:
|
59
|
+
name: "Install dummy app"
|
60
|
+
command: |
|
61
|
+
<<#parameters.coverage>>export COVERAGE=true<</parameters.coverage>>
|
62
|
+
bin/dummy-app
|
63
|
+
environment:
|
64
|
+
FRONTEND: starter
|
65
|
+
SOLIDUS_BRANCH: master
|
66
|
+
- save_cache:
|
67
|
+
key: solidus-stripe-gems-v1-{{ checksum "/tmp/.tool-versions" }}
|
68
|
+
paths:
|
69
|
+
- /home/circleci/.rubygems
|
70
|
+
- run:
|
71
|
+
name: "Runs specs"
|
72
|
+
command: |
|
73
|
+
<<#parameters.coverage>>export COVERAGE=true<</parameters.coverage>>
|
74
|
+
bin/rspec --format progress --format RspecJunitFormatter --out "$PWD/test-results/results.xml"
|
75
|
+
- when:
|
76
|
+
condition: <<parameters.coverage>>
|
77
|
+
steps: ["codecov/upload"]
|
78
|
+
path: test-results
|
79
|
+
- store_artifacts:
|
80
|
+
path: /home/circleci/project/dummy-app/tmp/capybara/
|
81
|
+
destination: capybara
|
82
|
+
- store_artifacts:
|
83
|
+
path: /home/circleci/project/coverage/
|
84
|
+
destination: coverage
|
50
85
|
lint-code:
|
51
|
-
|
86
|
+
parameters:
|
87
|
+
ruby:
|
88
|
+
type: string
|
89
|
+
default: "3.2"
|
90
|
+
executor:
|
52
91
|
name: solidusio_extensions/sqlite-memory
|
53
|
-
ruby_version:
|
92
|
+
ruby_version: << parameters.ruby >>
|
54
93
|
steps:
|
55
94
|
- solidusio_extensions/lint-code
|
95
|
+
- run:
|
96
|
+
name: Generate documentation
|
97
|
+
command: |
|
98
|
+
bundle exec yardoc
|
99
|
+
- store_artifacts:
|
100
|
+
path: /home/circleci/project/doc
|
101
|
+
destination: doc
|
56
102
|
|
57
103
|
workflows:
|
58
|
-
|
59
|
-
jobs:
|
60
|
-
- run-specs-with-postgres
|
61
|
-
- run-specs-with-mysql
|
62
|
-
- run-specs-with-sqlite
|
63
|
-
- lint-code
|
64
|
-
|
65
|
-
"Weekly run specs against master":
|
66
|
-
triggers:
|
67
|
-
- schedule:
|
68
|
-
cron: "0 0 * * 4" # every Thursday
|
69
|
-
filters:
|
70
|
-
branches:
|
71
|
-
only:
|
72
|
-
- master
|
104
|
+
build:
|
73
105
|
jobs:
|
74
|
-
- run-specs
|
75
|
-
|
106
|
+
- run-specs:
|
107
|
+
name: "run-specs-ruby-<<matrix.ruby>>-db-<<matrix.database>>"
|
108
|
+
context: stripe-test-credentials
|
109
|
+
matrix:
|
110
|
+
parameters:
|
111
|
+
ruby: ["3.2"] # TODO: ['3.2', '3.1', '3.0']
|
112
|
+
database: ["sqlite"] # TODO: ['mysql', 'sqlite', 'postgres']
|
113
|
+
coverage: [true]
|
114
|
+
- lint-code:
|
115
|
+
ruby: "3.0"
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,7 +1,97 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require:
|
4
|
-
- solidus_dev_support/rubocop
|
1
|
+
require: ["rubocop-rspec", "rubocop-rails", "rubocop-performance"]
|
5
2
|
|
6
3
|
AllCops:
|
7
4
|
NewCops: disable
|
5
|
+
TargetRubyVersion: '3.0'
|
6
|
+
Exclude:
|
7
|
+
- vendor/**/*
|
8
|
+
- sandbox/**/*
|
9
|
+
- dummy-app/**/*
|
10
|
+
- spec/dummy/**/*
|
11
|
+
|
12
|
+
Layout/ArgumentAlignment: {EnforcedStyle: with_fixed_indentation}
|
13
|
+
Layout/DotPosition: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#layoutdotposition"}
|
14
|
+
Layout/EmptyLinesAroundAttributeAccessor: {Enabled: true}
|
15
|
+
Layout/FirstArgumentIndentation: {EnforcedStyle: "consistent"}
|
16
|
+
Layout/FirstArrayElementIndentation: {EnforcedStyle: "consistent"}
|
17
|
+
Layout/LineLength: {Enabled: true, Max: 120, Exclude: [ "db/migrate/**/*" ]}
|
18
|
+
Layout/MultilineMethodCallIndentation: {EnforcedStyle: indented} # Gain space by indenting from the start of the line, instead of the end of the method name.
|
19
|
+
Layout/MultilineOperationIndentation: {Enabled: false}
|
20
|
+
Layout/SpaceAroundMethodCallOperator: {Enabled: true}
|
21
|
+
Layout/SpaceBeforeBlockBraces: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#layoutspacebeforeblockbraces"}
|
22
|
+
Layout/SpaceInsideParens: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#layoutspaceinsideparens"}
|
23
|
+
Lint/AmbiguousRegexpLiteral: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#lintambiguousregexpliteral"}
|
24
|
+
Lint/AssignmentInCondition: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#lintassignmentincondition"}
|
25
|
+
Lint/DeprecatedOpenSSLConstant: {Enabled: true}
|
26
|
+
Lint/MixedRegexpCaptureTypes: {Enabled: true}
|
27
|
+
Lint/RaiseException: {Enabled: true}
|
28
|
+
Lint/StructNewOverride: {Enabled: true}
|
29
|
+
Metrics/AbcSize: {Enabled: false}
|
30
|
+
Metrics/BlockLength: {Enabled: false}
|
31
|
+
Metrics/BlockNesting: {Enabled: false}
|
32
|
+
Metrics/ClassLength: {Enabled: false}
|
33
|
+
Metrics/CyclomaticComplexity: {Enabled: false}
|
34
|
+
Metrics/MethodLength: {Enabled: false}
|
35
|
+
Metrics/ModuleLength: {Enabled: false}
|
36
|
+
Metrics/ParameterLists: {Enabled: false}
|
37
|
+
Metrics/PerceivedComplexity: {Enabled: false}
|
38
|
+
Performance/AncestorsInclude: {Enabled: true}
|
39
|
+
Performance/BigDecimalWithNumericArgument: {Enabled: true}
|
40
|
+
Performance/RedundantSortBlock: {Enabled: true}
|
41
|
+
Performance/RedundantStringChars: {Enabled: true}
|
42
|
+
Performance/ReverseFirst: {Enabled: true}
|
43
|
+
Performance/SortReverse: {Enabled: true}
|
44
|
+
Performance/Squeeze: {Enabled: true}
|
45
|
+
Performance/StringInclude: {Enabled: true}
|
46
|
+
Rails/NotNullColumn: {Exclude: ["db/migrate/20230310152615_add_payment_method_reference_to_stripe_intents.rb"]}
|
47
|
+
Rails/SkipsModelValidations: {Exclude: ["spec/**/*"]}
|
48
|
+
RSpec/DescribeClass: {Exclude: ["spec/features/**/*", "spec/system/**/*", "spec/system/**/*"]} # Feature/System specs are not describing any class or module.
|
49
|
+
RSpec/ExampleLength: {Enabled: false}
|
50
|
+
RSpec/FilePath: {Exclude: ["spec/requests/solidus_stripe/webhooks_controller/**/*"]}
|
51
|
+
RSpec/MultipleExpectations: {Enabled: false} # More is more.
|
52
|
+
Style/AccessorGrouping: {Enabled: true}
|
53
|
+
Style/Alias: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylealias"}
|
54
|
+
Style/AsciiComments: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleasciicomments"}
|
55
|
+
Style/BeginBlock: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylebeginblock"}
|
56
|
+
Style/BisectedAttrAccessor: {Enabled: true}
|
57
|
+
Style/BlockDelimiters: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleblockdelimiters"}
|
58
|
+
Style/ClassAndModuleChildren: {Enabled: false} # Avoiding the nested namespaces can avoid some ambiguities, forcing full references. Also saves horizontal space.
|
59
|
+
Style/CommentAnnotation: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylecommentannotation"}
|
60
|
+
Style/Documentation: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styledocumentation"}
|
61
|
+
Style/DoubleNegation: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styledoublenegation"}
|
62
|
+
Style/EndBlock: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleendblock"}
|
63
|
+
Style/ExponentialNotation: {Enabled: true}
|
64
|
+
Style/FormatString: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleformatstring"}
|
65
|
+
Style/FrozenStringLiteralComment: {Exclude: ["spec/**/*", "db/migrate/**/*", "bin/**/*"]}
|
66
|
+
Style/HashEachMethods: {Enabled: true}
|
67
|
+
Style/HashTransformKeys: {Enabled: true}
|
68
|
+
Style/HashTransformValues: {Enabled: true}
|
69
|
+
Style/IfUnlessModifier: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleifunlessmodifier"}
|
70
|
+
Style/Lambda: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylelambda"}
|
71
|
+
Style/ModuleFunction: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylemodulefunction"}
|
72
|
+
Style/MultilineBlockChain: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylemultilineblockchain"}
|
73
|
+
Style/MultilineTernaryOperator: {Enabled: false}
|
74
|
+
Style/NegatedIf: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylenegatedif"}
|
75
|
+
Style/NegatedWhile: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylenegatedwhile"}
|
76
|
+
Style/NumericPredicate: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylenumericpredicate"}
|
77
|
+
Style/ParallelAssignment: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleparallelassignment"}
|
78
|
+
Style/PercentLiteralDelimiters: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylepercentliteraldelimiters"}
|
79
|
+
Style/PerlBackrefs: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleperlbackrefs"}
|
80
|
+
Style/RedundantAssignment: {Enabled: true}
|
81
|
+
Style/RedundantFetchBlock: {Enabled: true}
|
82
|
+
Style/RedundantRegexpCharacterClass: {Enabled: true}
|
83
|
+
Style/RedundantRegexpEscape: {Enabled: true}
|
84
|
+
Style/Semicolon: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylesemicolon"}
|
85
|
+
Style/SignalException: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylesignalexception"}
|
86
|
+
Style/SingleLineBlockParams: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylesinglelineblockparams"}
|
87
|
+
Style/SingleLineMethods: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylesinglelinemethods"}
|
88
|
+
Style/SlicingWithRange: {Enabled: true}
|
89
|
+
Style/SpecialGlobalVars: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylespecialglobalvars"}
|
90
|
+
Style/StringLiterals: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylestringliterals"}
|
91
|
+
Style/SymbolArray: {Enabled: false, StyleGuide: "http://relaxed.ruby.style/#stylesymbolarray"}
|
92
|
+
Style/TrailingCommaInArguments: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styletrailingcommainarguments"}
|
93
|
+
Style/TrailingCommaInArrayLiteral: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styletrailingcommainarrayliteral"}
|
94
|
+
Style/TrailingCommaInHashLiteral: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styletrailingcommainhashliteral"}
|
95
|
+
Style/TrailingUnderscoreVariable: {Enabled: false} # This was suggesting to use the dangling comma instead, which is super cryptic 🙈.
|
96
|
+
Style/WhileUntilModifier: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylewhileuntilmodifier"}
|
97
|
+
Style/WordArray: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylewordarray"}
|
data/.yardopts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{lib,app}/**/*.rb --fail-on-warning --markup markdown
|
data/Gemfile
CHANGED
@@ -1,38 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
source 'https://rubygems.org'
|
4
|
-
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
5
4
|
|
6
|
-
|
7
|
-
gem 'solidus', github: 'solidusio/solidus', branch: branch
|
8
|
-
|
9
|
-
# The solidus_frontend gem has been pulled out since v3.2
|
10
|
-
if (branch == 'master') || (branch >= 'v3.2')
|
11
|
-
gem 'solidus_frontend', github: 'solidusio/solidus_frontend', branch: branch
|
12
|
-
end
|
13
|
-
|
14
|
-
# Needed to help Bundler figure out how to resolve dependencies,
|
15
|
-
# otherwise it takes forever to resolve them.
|
16
|
-
# See https://github.com/bundler/bundler/issues/6677
|
17
|
-
gem 'rails', '>0.a'
|
5
|
+
gemspec
|
18
6
|
|
19
|
-
#
|
20
|
-
|
7
|
+
# Those are due to the "stdlib gemification" that's
|
8
|
+
# happening between versions of ruby.
|
9
|
+
gem 'stringio'
|
10
|
+
gem 'timeout'
|
21
11
|
|
22
|
-
|
23
|
-
when 'mysql'
|
24
|
-
gem 'mysql2'
|
25
|
-
when 'postgresql'
|
26
|
-
gem 'pg'
|
27
|
-
else
|
28
|
-
gem 'sqlite3'
|
29
|
-
end
|
12
|
+
gem 'listen'
|
30
13
|
|
31
|
-
|
14
|
+
gem 'activestorage'
|
32
15
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
# We use `send` instead of calling `eval_gemfile` to work around an issue with
|
37
|
-
# how Dependabot parses projects: https://github.com/dependabot/dependabot-core/issues/1658.
|
38
|
-
send(:eval_gemfile, 'Gemfile-local') if File.exist? 'Gemfile-local'
|
16
|
+
gem 'rspec_junit_formatter', require: false
|
17
|
+
gem 'simplecov', '~> 0.22', require: false
|
18
|
+
gem 'simplecov-cobertura', require: false
|
data/LICENSE
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
Copyright (c) 2014 Spree Commerce Inc
|
2
|
-
Copyright (c) 2021 Solidus Team
|
1
|
+
Copyright (c) 2014 Spree Commerce Inc., released under the New BSD License
|
2
|
+
Copyright (c) 2021 Solidus Team, released under the New BSD License.
|
3
3
|
All rights reserved.
|
4
4
|
|
5
5
|
Redistribution and use in source and binary forms, with or without modification,
|
data/Procfile.dev
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
web: env RUBY_DEBUG_OPEN=true bin/rails-sandbox server
|
2
|
+
watch: bin/rails-sandbox g solidus_stripe:install --force --watch
|
3
|
+
stripe: stripe listen --forward-to http://localhost:3000/solidus_stripe/test/webhooks --events charge.refunded,payment_intent.succeeded,payment_intent.payment_failed,payment_intent.canceled
|