solidus_braintree 1.4.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.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +12 -0
  3. data/.gem_release.yml +5 -0
  4. data/.github_changelog_generator +2 -0
  5. data/.gitignore +20 -11
  6. data/.rspec +1 -1
  7. data/.rubocop.yml +79 -0
  8. data/CHANGELOG.md +178 -18
  9. data/Gemfile +31 -23
  10. data/LICENSE +26 -0
  11. data/README.md +387 -26
  12. data/Rakefile +4 -19
  13. data/app/assets/config/solidus_braintree_manifest.js +1 -0
  14. data/app/assets/images/solidus_braintree/venmo/venmo_active_blue_button_280x48.svg +19 -0
  15. data/app/assets/images/solidus_braintree/venmo/venmo_active_blue_button_320x48.svg +19 -0
  16. data/app/assets/images/solidus_braintree/venmo/venmo_active_blue_button_375x48.svg +19 -0
  17. data/app/assets/images/solidus_braintree/venmo/venmo_active_white_button_280x48.svg +19 -0
  18. data/app/assets/images/solidus_braintree/venmo/venmo_active_white_button_320x48.svg +19 -0
  19. data/app/assets/images/solidus_braintree/venmo/venmo_active_white_button_375x48.svg +19 -0
  20. data/app/assets/images/solidus_braintree/venmo/venmo_blue_acceptance_mark.svg +15 -0
  21. data/app/assets/images/solidus_braintree/venmo/venmo_blue_button_280x48.svg +19 -0
  22. data/app/assets/images/solidus_braintree/venmo/venmo_blue_button_320x48.svg +19 -0
  23. data/app/assets/images/solidus_braintree/venmo/venmo_blue_button_375x48.svg +19 -0
  24. data/app/assets/images/solidus_braintree/venmo/venmo_blue_logo.svg +18 -0
  25. data/app/assets/images/solidus_braintree/venmo/venmo_white_acceptance_mark.svg +20 -0
  26. data/app/assets/images/solidus_braintree/venmo/venmo_white_button_280x48.svg +19 -0
  27. data/app/assets/images/solidus_braintree/venmo/venmo_white_button_320x48.svg +19 -0
  28. data/app/assets/images/solidus_braintree/venmo/venmo_white_button_375x48.svg +19 -0
  29. data/app/assets/images/solidus_braintree/venmo/venmo_white_logo.svg +18 -0
  30. data/app/assets/javascripts/solidus_braintree/apple_pay_button.js +179 -0
  31. data/app/assets/javascripts/solidus_braintree/checkout.js +108 -0
  32. data/app/assets/javascripts/solidus_braintree/client.js +239 -0
  33. data/app/assets/javascripts/solidus_braintree/constants.js +89 -0
  34. data/app/assets/javascripts/solidus_braintree/frontend.js +14 -0
  35. data/app/assets/javascripts/solidus_braintree/hosted_form.js +46 -0
  36. data/app/assets/javascripts/solidus_braintree/paypal_button.js +178 -0
  37. data/app/assets/javascripts/solidus_braintree/paypal_messaging.js +22 -0
  38. data/app/assets/javascripts/solidus_braintree/promise.js +20 -0
  39. data/app/assets/javascripts/solidus_braintree/venmo_button.js +86 -0
  40. data/app/assets/javascripts/spree/backend/solidus_braintree.js +96 -0
  41. data/app/assets/javascripts/spree/frontend/paypal_button.js +34 -0
  42. data/app/assets/javascripts/spree/frontend/solidus_braintree.js +1 -0
  43. data/app/assets/stylesheets/spree/backend/solidus_braintree.scss +28 -0
  44. data/app/assets/stylesheets/spree/frontend/solidus_braintree.scss +51 -0
  45. data/app/decorators/controllers/solidus_braintree/admin_payments_controller_decorator.rb +11 -0
  46. data/app/decorators/controllers/solidus_braintree/checkout_controller_decorator.rb +11 -0
  47. data/app/decorators/controllers/solidus_braintree/client_tokens_controller.rb +41 -0
  48. data/app/decorators/controllers/solidus_braintree/orders_controller_decorator.rb +11 -0
  49. data/app/decorators/models/solidus_braintree/spree/store_decorator.rb +20 -0
  50. data/app/decorators/models/solidus_braintree/spree/user_decorator.rb +13 -0
  51. data/app/helpers/solidus_braintree/braintree_admin_helper.rb +23 -0
  52. data/app/helpers/solidus_braintree/braintree_checkout_helper.rb +60 -0
  53. data/app/models/application_record.rb +5 -0
  54. data/app/models/solidus_braintree/address.rb +64 -0
  55. data/app/models/solidus_braintree/avs_result.rb +69 -0
  56. data/app/models/solidus_braintree/configuration.rb +39 -0
  57. data/app/models/solidus_braintree/customer.rb +8 -0
  58. data/app/models/solidus_braintree/gateway.rb +433 -0
  59. data/app/models/solidus_braintree/response.rb +80 -0
  60. data/app/models/solidus_braintree/source.rb +135 -0
  61. data/app/models/solidus_braintree/transaction.rb +31 -0
  62. data/app/models/solidus_braintree/transaction_address.rb +88 -0
  63. data/app/models/solidus_braintree/transaction_import.rb +98 -0
  64. data/app/overrides/spree/payments/payment/add_paypal_funding_source_to_payment.rb +9 -0
  65. data/app/views/spree/api/payments/source_views/_braintree.json.jbuilder +1 -1
  66. data/app/views/spree/checkout/existing_payment/_braintree.html.erb +10 -0
  67. data/app/views/spree/shared/_apple_pay_button.html.erb +27 -0
  68. data/app/views/spree/shared/_braintree_errors.html.erb +16 -0
  69. data/app/views/spree/shared/_braintree_head_scripts.html.erb +26 -0
  70. data/app/views/spree/shared/_braintree_hosted_fields.html.erb +43 -0
  71. data/app/views/spree/shared/_paypal_cart_button.html.erb +38 -0
  72. data/app/views/spree/shared/_paypal_messaging.html.erb +13 -0
  73. data/app/views/spree/shared/_venmo_button.html.erb +33 -0
  74. data/bin/console +4 -1
  75. data/bin/rails +5 -5
  76. data/bin/rails-engine +13 -0
  77. data/bin/rails-sandbox +16 -0
  78. data/bin/rake +7 -0
  79. data/bin/sandbox +103 -0
  80. data/bin/setup +5 -4
  81. data/config/locales/en.yml +94 -2
  82. data/config/locales/it.yml +56 -0
  83. data/config/routes.rb +12 -3
  84. data/db/migrate/20160830061749_create_solidus_paypal_braintree_sources.rb +16 -0
  85. data/db/migrate/20160906201711_create_solidus_paypal_braintree_customers.rb +13 -0
  86. data/db/migrate/20161114231422_create_solidus_paypal_braintree_configurations.rb +11 -0
  87. data/db/migrate/20161125172005_add_braintree_configuration_to_stores.rb +7 -0
  88. data/db/migrate/20170203191030_add_credit_card_to_braintree_configuration.rb +6 -0
  89. data/db/migrate/20170505193712_add_null_constraint_to_sources.rb +38 -0
  90. data/db/migrate/20170508085402_add_not_null_constraint_to_sources_payment_type.rb +14 -0
  91. data/db/migrate/20190705115327_add_paypal_button_preferences_to_braintree_configurations.rb +5 -0
  92. data/db/migrate/20190911141712_add_3d_secure_to_braintree_configuration.rb +5 -0
  93. data/db/migrate/20211222170950_add_paypal_funding_source_to_solidus_paypal_braintree_sources.rb +5 -0
  94. data/db/migrate/20220104150301_add_venmo_to_braintree_configuration.rb +5 -0
  95. data/db/migrate/20230109080950_rename_solidus_paypal_braintree_source_type.rb +31 -0
  96. data/lib/controllers/backend/solidus_braintree/configurations_controller.rb +48 -0
  97. data/lib/controllers/frontend/solidus_braintree/checkouts_controller.rb +31 -0
  98. data/lib/controllers/frontend/solidus_braintree/transactions_controller.rb +67 -0
  99. data/lib/generators/solidus_braintree/install/install_generator.rb +54 -18
  100. data/lib/generators/solidus_braintree/install/templates/initializer.rb +6 -0
  101. data/lib/solidus_braintree/country_mapper.rb +37 -0
  102. data/lib/solidus_braintree/engine.rb +55 -10
  103. data/lib/solidus_braintree/extension_configuration.rb +23 -0
  104. data/lib/solidus_braintree/request_protection.rb +21 -0
  105. data/lib/solidus_braintree/testing_support/factories.rb +53 -0
  106. data/lib/solidus_braintree/version.rb +3 -1
  107. data/lib/solidus_braintree.rb +14 -2
  108. data/lib/solidus_paypal_braintree.rb +6 -0
  109. data/lib/views/backend/solidus_braintree/configurations/list.html.erb +63 -0
  110. data/lib/views/backend/spree/admin/payments/source_forms/_braintree.html.erb +16 -0
  111. data/lib/views/backend/spree/admin/payments/source_views/_braintree.html.erb +39 -0
  112. data/lib/views/backend/spree/admin/shared/preference_fields/_preference_select.html.erb +13 -0
  113. data/lib/views/backend_v1.2/spree/admin/payments/source_forms/_braintree.html.erb +16 -0
  114. data/lib/views/backend_v2.4/spree/admin/shared/preference_fields/_hash.html.erb +12 -0
  115. data/lib/views/frontend/solidus_braintree/payments/_payment.html.erb +12 -0
  116. data/lib/views/frontend/spree/checkout/payment/_braintree.html.erb +23 -0
  117. data/lib/views/frontend/spree/shared/_paypal_checkout_button.html.erb +32 -0
  118. data/solidus_braintree.gemspec +39 -38
  119. data/spec/controllers/solidus_braintree/checkouts_controller_spec.rb +99 -0
  120. data/spec/controllers/solidus_braintree/client_tokens_controller_spec.rb +55 -0
  121. data/spec/controllers/solidus_braintree/configurations_controller_spec.rb +73 -0
  122. data/spec/controllers/solidus_braintree/transactions_controller_spec.rb +183 -0
  123. data/spec/features/backend/configuration_spec.rb +23 -0
  124. data/spec/features/backend/new_payment_spec.rb +137 -0
  125. data/spec/features/frontend/braintree_credit_card_checkout_spec.rb +191 -0
  126. data/spec/features/frontend/paypal_checkout_spec.rb +166 -0
  127. data/spec/features/frontend/venmo_checkout_spec.rb +194 -0
  128. data/spec/fixtures/cassettes/admin/invalid_credit_card.yml +63 -0
  129. data/spec/fixtures/cassettes/admin/resubmit_credit_card.yml +352 -0
  130. data/spec/fixtures/cassettes/admin/valid_credit_card.yml +412 -0
  131. data/spec/fixtures/cassettes/braintree/create_profile.yml +71 -0
  132. data/spec/fixtures/cassettes/braintree/generate_token.yml +63 -0
  133. data/spec/fixtures/cassettes/braintree/token.yml +63 -0
  134. data/spec/fixtures/cassettes/checkout/invalid_credit_card.yml +63 -0
  135. data/spec/fixtures/cassettes/checkout/resubmit_credit_card.yml +216 -0
  136. data/spec/fixtures/cassettes/checkout/update.yml +71 -0
  137. data/spec/fixtures/cassettes/checkout/valid_credit_card.yml +171 -0
  138. data/spec/fixtures/cassettes/checkout/valid_venmo_transaction.yml +599 -0
  139. data/spec/fixtures/cassettes/gateway/authorize/credit_card/address.yml +86 -0
  140. data/spec/fixtures/cassettes/gateway/authorize/merchant_account/EUR.yml +154 -0
  141. data/spec/fixtures/cassettes/gateway/authorize/paypal/EUR.yml +90 -0
  142. data/spec/fixtures/cassettes/gateway/authorize/paypal/address.yml +90 -0
  143. data/spec/fixtures/cassettes/gateway/authorize.yml +86 -0
  144. data/spec/fixtures/cassettes/gateway/authorized_transaction.yml +73 -0
  145. data/spec/fixtures/cassettes/gateway/cancel/missing.yml +63 -0
  146. data/spec/fixtures/cassettes/gateway/cancel/refunds.yml +272 -0
  147. data/spec/fixtures/cassettes/gateway/cancel/void.yml +201 -0
  148. data/spec/fixtures/cassettes/gateway/capture.yml +141 -0
  149. data/spec/fixtures/cassettes/gateway/complete.yml +157 -0
  150. data/spec/fixtures/cassettes/gateway/credit.yml +208 -0
  151. data/spec/fixtures/cassettes/gateway/customer.yml +79 -0
  152. data/spec/fixtures/cassettes/gateway/purchase.yml +87 -0
  153. data/spec/fixtures/cassettes/gateway/settled_transaction.yml +140 -0
  154. data/spec/fixtures/cassettes/gateway/void.yml +137 -0
  155. data/spec/fixtures/cassettes/source/bin.yml +295 -0
  156. data/spec/fixtures/cassettes/source/card_type.yml +267 -0
  157. data/spec/fixtures/cassettes/source/last4.yml +267 -0
  158. data/spec/fixtures/cassettes/transaction/import/valid/capture.yml +224 -0
  159. data/spec/fixtures/cassettes/transaction/import/valid.yml +71 -0
  160. data/spec/fixtures/views/spree/orders/edit.html.erb +50 -0
  161. data/spec/helpers/solidus_braintree/braintree_admin_helper_spec.rb +17 -0
  162. data/spec/helpers/solidus_braintree/braintree_checkout_helper_spec.rb +70 -0
  163. data/spec/models/solidus_braintree/address_spec.rb +71 -0
  164. data/spec/models/solidus_braintree/avs_result_spec.rb +317 -0
  165. data/spec/models/solidus_braintree/gateway_spec.rb +742 -0
  166. data/spec/models/solidus_braintree/response_spec.rb +280 -0
  167. data/spec/models/solidus_braintree/source_spec.rb +539 -0
  168. data/spec/models/solidus_braintree/transaction_address_spec.rb +235 -0
  169. data/spec/models/solidus_braintree/transaction_import_spec.rb +302 -0
  170. data/spec/models/solidus_braintree/transaction_spec.rb +86 -0
  171. data/spec/models/spree/store_spec.rb +14 -0
  172. data/spec/requests/spree/api/orders_controller_spec.rb +36 -0
  173. data/spec/spec_helper.rb +32 -0
  174. data/spec/support/capybara.rb +7 -0
  175. data/spec/support/gateway_helpers.rb +29 -0
  176. data/spec/support/order_ready_for_payment.rb +37 -0
  177. data/spec/support/vcr.rb +42 -0
  178. data/spec/support/views.rb +1 -0
  179. metadata +276 -224
  180. data/LICENSE.txt +0 -21
  181. data/app/controllers/spree/api/braintree_client_token_controller.rb +0 -13
  182. data/app/decorators/lib/solidus_braintree/spree/permitted_attributes_decorator.rb +0 -9
  183. data/app/decorators/models/solidus_braintree/spree/credit_card_decorator.rb +0 -11
  184. data/app/decorators/models/solidus_braintree/spree/payment_decorator.rb +0 -10
  185. data/app/helpers/braintree_view_helpers.rb +0 -20
  186. data/app/models/concerns/solidus_braintree/add_name_validation_concern.rb +0 -8
  187. data/app/models/concerns/solidus_braintree/inject_device_data_concern.rb +0 -18
  188. data/app/models/concerns/solidus_braintree/payment_braintree_nonce_concern.rb +0 -8
  189. data/app/models/concerns/solidus_braintree/permitted_attributes_concern.rb +0 -11
  190. data/app/models/concerns/solidus_braintree/skip_require_card_numbers_concern.rb +0 -14
  191. data/app/models/concerns/solidus_braintree/use_data_field_concern.rb +0 -23
  192. data/app/models/solidus/gateway/braintree_gateway.rb +0 -306
  193. data/app/overrides/spree/checkout/_confirm/braintree_security.html.erb.deface +0 -9
  194. data/app/views/spree/admin/payments/source_forms/_braintree.html.erb +0 -38
  195. data/app/views/spree/admin/payments/source_views/_braintree.html.erb +0 -30
  196. data/app/views/spree/checkout/payment/_braintree.html.erb +0 -55
  197. data/app/views/spree/checkout/payment/_braintree_initialization.html.erb +0 -12
  198. data/config/initializers/braintree.rb +0 -3
  199. data/db/migrate/20150910170527_add_data_to_credit_card.rb +0 -5
  200. data/db/migrate/20160426221931_add_braintree_device_data_to_order.rb +0 -5
  201. data/lib/assets/javascripts/spree/backend/braintree/solidus_braintree.js +0 -59
  202. data/lib/assets/javascripts/spree/frontend/braintree/solidus_braintree.js +0 -144
  203. data/lib/assets/javascripts/vendor/braintree.js +0 -8
  204. data/lib/assets/stylesheets/spree/frontend/solidus_braintree.scss +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0bdcf8e4b5373b818e1092d9c6b5e5f87669b5866eba7db642424348248c878
4
- data.tar.gz: 5236477492142c2f00a20d5ab25f7a77d34863778ffb617874018794fffe8d40
3
+ metadata.gz: 295ecfdad98d4575e7e5b92378ebcce1d7f28ec573b9620549c32d27eb772eff
4
+ data.tar.gz: ba2317b10a9cffcedd0f433a89da728d2b61f57575fd02842094080b6cdc469a
5
5
  SHA512:
6
- metadata.gz: a95fb49ebe9867d9256463060a2df7aaf2e04c9314bc1dba68ccaa5c8adf7a455d9e1bca3a9e86c894668cf4d839ee47913992cc73abb92d3f50b85a7cecafc1
7
- data.tar.gz: 25b7444e079936fc2f1c58252915d027f3985b93ada12a6dbdc7292c82eabb71f77fbec558a20553abbd799d219be5664cca590306760a3367d0e05609efdd10
6
+ metadata.gz: f1b6f22c5978de30e13d74552eacd1e4ce6f86c3e585648fbff5eac4cd773923f142e14eb045abea2c14e2fe883874c60467c8767e5d60ace2fc051932035e2b
7
+ data.tar.gz: ec1bb595aa6373f76c362b52c9b32d05c24ddd18227eb3f50902b269900a4e98f1757c059dee0c07515094de05a88b3dc5aaba05016b1e5e117f0f81c130ed16
data/.circleci/config.yml CHANGED
@@ -1,6 +1,9 @@
1
1
  version: 2.1
2
2
 
3
3
  orbs:
4
+ # Required for feature specs.
5
+ browser-tools: circleci/browser-tools@1.1
6
+
4
7
  # Always take the latest version of the orb, this allows us to
5
8
  # run specs against Solidus supported versions only without the need
6
9
  # to change this configuration every time a Solidus version is released
@@ -11,17 +14,26 @@ jobs:
11
14
  run-specs-with-postgres:
12
15
  executor: solidusio_extensions/postgres
13
16
  steps:
17
+ - browser-tools/install-browser-tools
14
18
  - solidusio_extensions/run-tests
15
19
  run-specs-with-mysql:
16
20
  executor: solidusio_extensions/mysql
17
21
  steps:
22
+ - browser-tools/install-browser-tools
18
23
  - solidusio_extensions/run-tests
24
+ lint-code:
25
+ executor: solidusio_extensions/sqlite-memory
26
+ steps:
27
+ - browser-tools/install-browser-tools
28
+ - solidusio_extensions/lint-code
19
29
 
20
30
  workflows:
21
31
  "Run specs on supported Solidus versions":
22
32
  jobs:
23
33
  - run-specs-with-postgres
24
34
  - run-specs-with-mysql
35
+ - lint-code
36
+
25
37
  "Weekly run specs against master":
26
38
  triggers:
27
39
  - schedule:
data/.gem_release.yml ADDED
@@ -0,0 +1,5 @@
1
+ bump:
2
+ recurse: false
3
+ file: 'lib/solidus_braintree/version.rb'
4
+ message: Bump SolidusBraintree to %{version}
5
+ tag: true
@@ -0,0 +1,2 @@
1
+ issues=false
2
+ exclude-labels=infrastructure
data/.gitignore CHANGED
@@ -1,11 +1,20 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- /spec/dummy
11
- /spec/examples.txt
1
+ *.gem
2
+ \#*
3
+ *~
4
+ .#*
5
+ .DS_Store
6
+ .idea
7
+ .project
8
+ .sass-cache
9
+ coverage
10
+ Gemfile.lock
11
+ tmp
12
+ nbproject
13
+ pkg
14
+ *.swp
15
+ spec/dummy
16
+ spec/examples.txt
17
+ /sandbox
18
+ .rvmrc
19
+ .ruby-version
20
+ .ruby-gemset
data/.rspec CHANGED
@@ -1,2 +1,2 @@
1
- --format documentation
2
1
  --color
2
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,79 @@
1
+ require:
2
+ - solidus_dev_support/rubocop
3
+
4
+ AllCops:
5
+ NewCops: disable
6
+
7
+ Layout/FirstArgumentIndentation:
8
+ EnforcedStyle: consistent
9
+
10
+ Layout/FirstArrayElementIndentation:
11
+ EnforcedStyle: consistent
12
+
13
+ Layout/FirstHashElementIndentation:
14
+ EnforcedStyle: consistent
15
+
16
+ Layout/MultilineMethodCallIndentation:
17
+ EnforcedStyle: indented
18
+
19
+ Naming/VariableNumber:
20
+ Enabled: false
21
+
22
+ # We use this extensively, the alternatives are not viable or desirable.
23
+ RSpec/AnyInstance:
24
+ Enabled: false
25
+
26
+ # No need to make the code more complex for no real gain.
27
+ RSpec/MessageSpies:
28
+ Enabled: false
29
+
30
+ # Let's consider legitimate to have multiple expectations within an example.
31
+ RSpec/MultipleExpectations:
32
+ Enabled: false
33
+
34
+ # Allow to use subject as is, no big deal.
35
+ RSpec/NamedSubject:
36
+ Enabled: false
37
+
38
+ # Let's set this to some really exagerate value.
39
+ RSpec/NestedGroups:
40
+ Max: 8
41
+
42
+ # We don't use the FactoryBot mixin
43
+ RSpec/FactoryBot/SyntaxMethods:
44
+ Enabled: false
45
+
46
+ RSpec/VerifiedDoubles:
47
+ # Sometimes you really need an "anything" double
48
+ IgnoreSymbolicNames: true
49
+
50
+ Style/FrozenStringLiteralComment:
51
+ Exclude:
52
+ - spec/**/*
53
+ - db/migrate/**/*
54
+ - bin/**/*
55
+
56
+ Style/ExplicitBlockArgument:
57
+ Exclude:
58
+ - lib/solidus_braintree/request_protection.rb
59
+
60
+ Rails/SkipsModelValidations:
61
+ Exclude:
62
+ - db/migrate/**/*
63
+
64
+ Rails/ReflectionClassName:
65
+ Exclude:
66
+ - app/models/solidus_braintree/customer.rb
67
+ - app/models/solidus_braintree/source.rb
68
+
69
+ RSpec/MultipleMemoizedHelpers:
70
+ Exclude:
71
+ - spec/models/solidus_braintree/transaction_import_spec.rb
72
+ - spec/models/solidus_braintree/response_spec.rb
73
+ - spec/models/solidus_braintree/gateway_spec.rb
74
+ - spec/controllers/solidus_braintree/client_tokens_controller_spec.rb
75
+ - spec/features/frontend/braintree_credit_card_checkout_spec.rb
76
+
77
+ Rails/ApplicationRecord:
78
+ Exclude:
79
+ - db/migrate/*
data/CHANGELOG.md CHANGED
@@ -1,31 +1,191 @@
1
- ## HEAD
1
+ # Changelog
2
2
 
3
- * Upgrade braintree to 2.23.0 for bug fixes and fraud detection with deviceData.
3
+ ## [v2.0.0](https://github.com/solidusio/solidus_braintree/tree/v2.0.0) (2023-03-17)
4
4
 
5
- ## 0.2.0
5
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v1.2.0...v2.0.0)
6
6
 
7
- * Add functionality around PayPal by adding a json or text field on credit card for storing extra data coming back from Braintree.
8
- * Upgrade braintree to 2.14.0 for hosted field and teardown support.
7
+ **Implemented enhancements:**
9
8
 
10
- ## 0.1.5
9
+ - Backport SolidusBraintree README changes to v2.x [\#131](https://github.com/solidusio/solidus_braintree/issues/131)
10
+ - Release SolidusBraintree 1.3 [\#127](https://github.com/solidusio/solidus_braintree/issues/127)
11
+ - Add overview to SolidusBraintree README [\#123](https://github.com/solidusio/solidus_braintree/issues/123)
12
+ - Add device data collection [\#115](https://github.com/solidusio/solidus_braintree/issues/115)
13
+ - Set Solidus dependency of SolidusBraintree to `> 3.4.0.dev, < 4` [\#113](https://github.com/solidusio/solidus_braintree/issues/113)
14
+ - Port device data collection from 1.x to 2.x [\#107](https://github.com/solidusio/solidus_braintree/issues/107)
15
+ - Support PayPal through frontend [\#26](https://github.com/solidusio/solidus_braintree/issues/26)
11
16
 
12
- * Use mapping to set cc_type conventionally.
17
+ **Fixed bugs:**
13
18
 
14
- ## 0.1.3
19
+ - Fix: user should still be able to disable data collection in a SolidusBraintree hosted form [\#126](https://github.com/solidusio/solidus_braintree/issues/126)
20
+ - Fix Spree::LogEntry::DisallowedClass error for failed responses [\#110](https://github.com/solidusio/solidus_braintree/issues/110)
21
+ - Fix Spree::LogEntry::DisallowedClass error [\#108](https://github.com/solidusio/solidus_braintree/issues/108)
15
22
 
16
- * Add back in name validation on `CreditCard`.
23
+ **Closed issues:**
17
24
 
18
- ## 0.1.2
25
+ - Fix: last version supporting SolidusFrontend should be 2.x instead of 1.x [\#136](https://github.com/solidusio/solidus_braintree/issues/136)
26
+ - Test SolidusBraintree SSF update with Venmo Pay [\#106](https://github.com/solidusio/solidus_braintree/issues/106)
27
+ - Update SolidusBraintree InstallGenerator to install frontend code [\#104](https://github.com/solidusio/solidus_braintree/issues/104)
28
+ - Release SolidusBraintree 1.3.0 [\#97](https://github.com/solidusio/solidus_braintree/issues/97)
29
+ - Update the SolidusPaypalBraintree namespace to SolidusBraintree [\#96](https://github.com/solidusio/solidus_braintree/issues/96)
30
+ - Merge the history of Solidus PayPal Braintree into this repository [\#92](https://github.com/solidusio/solidus_braintree/issues/92)
31
+ - Make Solidus Braintree compatible with Starter Frontend [\#91](https://github.com/solidusio/solidus_braintree/issues/91)
32
+ - Merge with `solidus_paypal_braintree` [\#90](https://github.com/solidusio/solidus_braintree/issues/90)
33
+ - Fix Deprecation warnings for use of Spree.t [\#76](https://github.com/solidusio/solidus_braintree/issues/76)
34
+ - New VCR specs with paypal fail [\#75](https://github.com/solidusio/solidus_braintree/issues/75)
35
+ - Drop-in Ui [\#73](https://github.com/solidusio/solidus_braintree/issues/73)
36
+ - Configure Solidus Braintree with Paypal Braintree SDK Token [\#67](https://github.com/solidusio/solidus_braintree/issues/67)
37
+ - Authenticate the payment client token endpoint [\#66](https://github.com/solidusio/solidus_braintree/issues/66)
38
+ - Is 3D Secure supported? [\#64](https://github.com/solidusio/solidus_braintree/issues/64)
39
+ - Deface Override requires solidus\_frontend [\#57](https://github.com/solidusio/solidus_braintree/issues/57)
40
+ - Allow to optionally create token with `customer_id` option [\#56](https://github.com/solidusio/solidus_braintree/issues/56)
41
+ - Guest checkout tries to create a customer profile [\#37](https://github.com/solidusio/solidus_braintree/issues/37)
42
+ - Use of undefined show\_flash function in frontend [\#31](https://github.com/solidusio/solidus_braintree/issues/31)
43
+ - Select an implementation for how to store non credit card data in Solidus [\#3](https://github.com/solidusio/solidus_braintree/issues/3)
19
44
 
20
- * Upgrade braintree to 2.13.0-beta for the abiltiy to destroy/teardown.
21
- * Fix bug related to using existing credit cards in admin.
45
+ **Merged pull requests:**
22
46
 
23
- ## 0.1.1
47
+ - Fix: last version supporting SolidusFrontend should be 2.x [\#137](https://github.com/solidusio/solidus_braintree/pull/137) ([gsmendoza](https://github.com/gsmendoza))
48
+ - Fix: user should still be able to disable data collection in a SolidusBraintree hosted form [\#129](https://github.com/solidusio/solidus_braintree/pull/129) ([gsmendoza](https://github.com/gsmendoza))
49
+ - Improve SolidusBraintree README [\#125](https://github.com/solidusio/solidus_braintree/pull/125) ([gsmendoza](https://github.com/gsmendoza))
50
+ - Fix: deprecated version in warning should be 1.x instead of 0.x [\#118](https://github.com/solidusio/solidus_braintree/pull/118) ([gsmendoza](https://github.com/gsmendoza))
51
+ - Migrate database by default [\#117](https://github.com/solidusio/solidus_braintree/pull/117) ([gsmendoza](https://github.com/gsmendoza))
52
+ - Add device data collection [\#116](https://github.com/solidusio/solidus_braintree/pull/116) ([gsmendoza](https://github.com/gsmendoza))
53
+ - Update Solidus dependency to \>= 3.4.0.dev and \< 4 [\#114](https://github.com/solidusio/solidus_braintree/pull/114) ([gsmendoza](https://github.com/gsmendoza))
54
+ - Update SolidusBraintree InstallGenerator to install frontend code [\#112](https://github.com/solidusio/solidus_braintree/pull/112) ([gsmendoza](https://github.com/gsmendoza))
55
+ - Deep stringify the keys of the result params [\#111](https://github.com/solidusio/solidus_braintree/pull/111) ([gsmendoza](https://github.com/gsmendoza))
56
+ - Add Response to log entry permitted classes [\#109](https://github.com/solidusio/solidus_braintree/pull/109) ([gsmendoza](https://github.com/gsmendoza))
57
+ - Make Solidus Braintree compatible with Starter Frontend [\#102](https://github.com/solidusio/solidus_braintree/pull/102) ([gsmendoza](https://github.com/gsmendoza))
58
+ - Make migrations independent of existing models [\#100](https://github.com/solidusio/solidus_braintree/pull/100) ([elia](https://github.com/elia))
59
+ - Update the SolidusPaypalBraintree namespace to SolidusBraintree [\#99](https://github.com/solidusio/solidus_braintree/pull/99) ([gsmendoza](https://github.com/gsmendoza))
60
+ - Merge the history of Solidus PayPal Braintree into this repository [\#98](https://github.com/solidusio/solidus_braintree/pull/98) ([gsmendoza](https://github.com/gsmendoza))
61
+ - Add stale bot [\#89](https://github.com/solidusio/solidus_braintree/pull/89) ([gsmendoza](https://github.com/gsmendoza))
62
+ - Update to use forked solidus\_frontend when needed [\#88](https://github.com/solidusio/solidus_braintree/pull/88) ([waiting-for-dev](https://github.com/waiting-for-dev))
63
+ - Add deprecation notice to README [\#87](https://github.com/solidusio/solidus_braintree/pull/87) ([seand7565](https://github.com/seand7565))
64
+ - Adopt CircleCI instead of Travis [\#85](https://github.com/solidusio/solidus_braintree/pull/85) ([aldesantis](https://github.com/aldesantis))
65
+ - Suggest setting a value for environment preference [\#82](https://github.com/solidusio/solidus_braintree/pull/82) ([mdesantis](https://github.com/mdesantis))
66
+ - Test suite improvements [\#80](https://github.com/solidusio/solidus_braintree/pull/80) ([aitbw](https://github.com/aitbw))
67
+ - Extension maintenance [\#78](https://github.com/solidusio/solidus_braintree/pull/78) ([aitbw](https://github.com/aitbw))
68
+ - Fix references to Spree.t [\#77](https://github.com/solidusio/solidus_braintree/pull/77) ([skukx](https://github.com/skukx))
69
+ - Remove 2.2 from CI \(EOL\) [\#71](https://github.com/solidusio/solidus_braintree/pull/71) ([jacobherrington](https://github.com/jacobherrington))
70
+ - Fix Travis issue with Solidus old versions \(Factory Bot gem\) [\#70](https://github.com/solidusio/solidus_braintree/pull/70) ([spaghetticode](https://github.com/spaghetticode))
71
+ - Remove versions past EOL from .travis.yml [\#69](https://github.com/solidusio/solidus_braintree/pull/69) ([jacobherrington](https://github.com/jacobherrington))
72
+ - Add Solidus 2.7 to .travis.yml [\#68](https://github.com/solidusio/solidus_braintree/pull/68) ([jacobherrington](https://github.com/jacobherrington))
24
73
 
25
- * Get the client token and attach the dropin on page load to support the create
26
- order flow in admin, also fixes clicking the new credit card radio quickly and
27
- it attaching multiple dropins.
74
+ ## [v1.2.0](https://github.com/solidusio/solidus_braintree/tree/v1.2.0) (2018-05-25)
28
75
 
29
- ## 0.1.0
76
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v1.1.0...v1.2.0)
30
77
 
31
- * First release.
78
+ **Closed issues:**
79
+
80
+ - Undefined local variable or method `solidus\_paypal\_braintree' [\#62](https://github.com/solidusio/solidus_braintree/issues/62)
81
+ - Solidus 1.3 Admin UI changes breaking New Card form [\#48](https://github.com/solidusio/solidus_braintree/issues/48)
82
+
83
+ **Merged pull requests:**
84
+
85
+ - Specify Rails versions in Gemfile [\#63](https://github.com/solidusio/solidus_braintree/pull/63) ([jhawthorn](https://github.com/jhawthorn))
86
+ - Re-record failing VCR cassettes [\#61](https://github.com/solidusio/solidus_braintree/pull/61) ([jhawthorn](https://github.com/jhawthorn))
87
+ - Revert "Ignore AVS response code in Paypal transactions." [\#60](https://github.com/solidusio/solidus_braintree/pull/60) ([jhawthorn](https://github.com/jhawthorn))
88
+ - Fixes link to Braintree v.zero docs [\#59](https://github.com/solidusio/solidus_braintree/pull/59) ([tvdeyen](https://github.com/tvdeyen))
89
+ - Download PhantomJS from github mirror [\#58](https://github.com/solidusio/solidus_braintree/pull/58) ([jhawthorn](https://github.com/jhawthorn))
90
+ - Add --ssl-protocol=any to phantomjs\_options [\#55](https://github.com/solidusio/solidus_braintree/pull/55) ([jhawthorn](https://github.com/jhawthorn))
91
+ - Fix spec failures due to missing address last\_name [\#54](https://github.com/solidusio/solidus_braintree/pull/54) ([jhawthorn](https://github.com/jhawthorn))
92
+ - Ignore AVS response code in Paypal transactions. [\#36](https://github.com/solidusio/solidus_braintree/pull/36) ([hectoregm](https://github.com/hectoregm))
93
+
94
+ ## [v1.1.0](https://github.com/solidusio/solidus_braintree/tree/v1.1.0) (2016-09-22)
95
+
96
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v1.0.0...v1.1.0)
97
+
98
+ **Merged pull requests:**
99
+
100
+ - Add support for Solidus 2.0 and Rails 5.0 [\#51](https://github.com/solidusio/solidus_braintree/pull/51) ([jhawthorn](https://github.com/jhawthorn))
101
+ - Spec to test new card [\#50](https://github.com/solidusio/solidus_braintree/pull/50) ([Murph33](https://github.com/Murph33))
102
+ - Add config to disable ship address verification [\#47](https://github.com/solidusio/solidus_braintree/pull/47) ([gmacdougall](https://github.com/gmacdougall))
103
+ - Add support for cancel [\#45](https://github.com/solidusio/solidus_braintree/pull/45) ([gmacdougall](https://github.com/gmacdougall))
104
+
105
+ ## [v1.0.0](https://github.com/solidusio/solidus_braintree/tree/v1.0.0) (2016-06-24)
106
+
107
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v0.2.1...v1.0.0)
108
+
109
+ **Closed issues:**
110
+
111
+ - Use Braintree Hosted Fields in frontend checkout [\#27](https://github.com/solidusio/solidus_braintree/issues/27)
112
+ - Not using v.zero SDK [\#14](https://github.com/solidusio/solidus_braintree/issues/14)
113
+
114
+ **Merged pull requests:**
115
+
116
+ - Change solidus dependency to components [\#44](https://github.com/solidusio/solidus_braintree/pull/44) ([gmacdougall](https://github.com/gmacdougall))
117
+ - Add placeholder text for each of the credit card inputs. [\#40](https://github.com/solidusio/solidus_braintree/pull/40) ([hectoregm](https://github.com/hectoregm))
118
+ - Get client token from braintree only in the payment page. [\#39](https://github.com/solidusio/solidus_braintree/pull/39) ([hectoregm](https://github.com/hectoregm))
119
+ - Fix tests [\#38](https://github.com/solidusio/solidus_braintree/pull/38) ([jhawthorn](https://github.com/jhawthorn))
120
+ - Ensure device\_data is added to the gateway\_options hash. [\#35](https://github.com/solidusio/solidus_braintree/pull/35) ([hectoregm](https://github.com/hectoregm))
121
+ - Paypal improvements [\#34](https://github.com/solidusio/solidus_braintree/pull/34) ([hectoregm](https://github.com/hectoregm))
122
+ - Fraud hosted fields [\#32](https://github.com/solidusio/solidus_braintree/pull/32) ([hectoregm](https://github.com/hectoregm))
123
+ - Add paypal button [\#30](https://github.com/solidusio/solidus_braintree/pull/30) ([jhawthorn](https://github.com/jhawthorn))
124
+ - Use braintree's Hosted Fields [\#29](https://github.com/solidusio/solidus_braintree/pull/29) ([jhawthorn](https://github.com/jhawthorn))
125
+ - Add feature spec for frontend checkout [\#25](https://github.com/solidusio/solidus_braintree/pull/25) ([jhawthorn](https://github.com/jhawthorn))
126
+ - Update braintree-web to 2.23.0 [\#24](https://github.com/solidusio/solidus_braintree/pull/24) ([hectoregm](https://github.com/hectoregm))
127
+ - Void payment in checkout state without authorization code [\#23](https://github.com/solidusio/solidus_braintree/pull/23) ([ericsaupe](https://github.com/ericsaupe))
128
+ - Hosted Forms Frontend [\#22](https://github.com/solidusio/solidus_braintree/pull/22) ([ericsaupe](https://github.com/ericsaupe))
129
+ - Cleanup dependencies [\#20](https://github.com/solidusio/solidus_braintree/pull/20) ([jhawthorn](https://github.com/jhawthorn))
130
+ - Remove out.json [\#19](https://github.com/solidusio/solidus_braintree/pull/19) ([jhawthorn](https://github.com/jhawthorn))
131
+ - Rebase \#9 [\#18](https://github.com/solidusio/solidus_braintree/pull/18) ([jhawthorn](https://github.com/jhawthorn))
132
+ - Rebase \#11 [\#17](https://github.com/solidusio/solidus_braintree/pull/17) ([jhawthorn](https://github.com/jhawthorn))
133
+ - MySQL support [\#16](https://github.com/solidusio/solidus_braintree/pull/16) ([jhawthorn](https://github.com/jhawthorn))
134
+ - Update travis.yml [\#15](https://github.com/solidusio/solidus_braintree/pull/15) ([jhawthorn](https://github.com/jhawthorn))
135
+
136
+ ## [v0.2.1](https://github.com/solidusio/solidus_braintree/tree/v0.2.1) (2015-11-03)
137
+
138
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v0.2.0...v0.2.1)
139
+
140
+ **Merged pull requests:**
141
+
142
+ - supply first and last name in shipping address [\#8](https://github.com/solidusio/solidus_braintree/pull/8) ([gvaughn](https://github.com/gvaughn))
143
+
144
+ ## [v0.2.0](https://github.com/solidusio/solidus_braintree/tree/v0.2.0) (2015-09-17)
145
+
146
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v0.1.5...v0.2.0)
147
+
148
+ **Merged pull requests:**
149
+
150
+ - Update braintree-web to 2.14.0 [\#7](https://github.com/solidusio/solidus_braintree/pull/7) ([kamui](https://github.com/kamui))
151
+ - Make Spree::CreditCard more flexible for handling paypal payments by … [\#6](https://github.com/solidusio/solidus_braintree/pull/6) ([allisonlarson](https://github.com/allisonlarson))
152
+
153
+ ## [v0.1.5](https://github.com/solidusio/solidus_braintree/tree/v0.1.5) (2015-09-08)
154
+
155
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v0.1.4...v0.1.5)
156
+
157
+ ## [v0.1.4](https://github.com/solidusio/solidus_braintree/tree/v0.1.4) (2015-09-08)
158
+
159
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v0.1.3...v0.1.4)
160
+
161
+ **Merged pull requests:**
162
+
163
+ - Use CARD\_TYPE\_MAPPING for setting cc\_type [\#5](https://github.com/solidusio/solidus_braintree/pull/5) ([allisonlarson](https://github.com/allisonlarson))
164
+
165
+ ## [v0.1.3](https://github.com/solidusio/solidus_braintree/tree/v0.1.3) (2015-09-04)
166
+
167
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v0.1.2...v0.1.3)
168
+
169
+ **Merged pull requests:**
170
+
171
+ - Add name presence validation on create [\#4](https://github.com/solidusio/solidus_braintree/pull/4) ([kamui](https://github.com/kamui))
172
+
173
+ ## [v0.1.2](https://github.com/solidusio/solidus_braintree/tree/v0.1.2) (2015-09-04)
174
+
175
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v0.1.1...v0.1.2)
176
+
177
+ ## [v0.1.1](https://github.com/solidusio/solidus_braintree/tree/v0.1.1) (2015-09-02)
178
+
179
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/v0.1.0...v0.1.1)
180
+
181
+ ## [v0.1.0](https://github.com/solidusio/solidus_braintree/tree/v0.1.0) (2015-09-02)
182
+
183
+ [Full Changelog](https://github.com/solidusio/solidus_braintree/compare/411a93001c017d41fd545e0dc9d4edef3422759e...v0.1.0)
184
+
185
+ **Merged pull requests:**
186
+
187
+ - Provide an option for always sending the bill address [\#2](https://github.com/solidusio/solidus_braintree/pull/2) ([jordan-brough](https://github.com/jordan-brough))
188
+
189
+
190
+
191
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/Gemfile CHANGED
@@ -1,34 +1,42 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
2
 
3
- branch = ENV.fetch('SOLIDUS_BRANCH', 'main')
4
- solidus_git, solidus_frontend_git = if (branch == 'main') || (branch >= 'v3.2')
5
- %w[solidusio/solidus solidusio/solidus_frontend]
6
- else
7
- %w[solidusio/solidus] * 2
8
- end
9
- gem 'solidus', github: solidus_git, branch: branch
10
- gem 'solidus_frontend', github: solidus_frontend_git, branch: branch
3
+ source 'https://rubygems.org'
4
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
+
6
+ branch = ENV.fetch('SOLIDUS_BRANCH', 'master')
7
+ gem 'solidus', github: 'solidusio/solidus', branch: branch
8
+
9
+ # The solidus_frontend gem has been pulled out since v3.2
10
+ gem 'solidus_frontend', github: 'solidusio/solidus_frontend' if branch == 'master'
11
+ gem 'solidus_frontend' if branch >= 'v3.2' # rubocop:disable Bundler/DuplicatedGem
11
12
 
12
13
  # Needed to help Bundler figure out how to resolve dependencies,
13
- # otherwise it takes forever to resolve them
14
- if branch == 'main' || Gem::Version.new(branch[1..-1]) >= Gem::Version.new('2.10.0')
15
- gem 'rails', '~> 6.0'
16
- else
17
- gem 'rails', '~> 5.0'
18
- end
14
+ # otherwise it takes forever to resolve them.
15
+ # See https://github.com/bundler/bundler/issues/6677
16
+ gem 'rails', '>0.a'
17
+
18
+ # Provides basic authentication functionality for testing parts of your engine
19
+ gem 'solidus_auth_devise'
19
20
 
20
- case ENV['DB']
21
+ case ENV.fetch('DB', nil)
21
22
  when 'mysql'
22
23
  gem 'mysql2'
23
- when 'postgres'
24
+ when 'postgresql'
24
25
  gem 'pg'
26
+ else
27
+ gem 'sqlite3'
25
28
  end
26
29
 
27
- gem "rails-controller-testing", group: :test
28
-
29
- group :development, :test do
30
- gem 'factory_bot', '> 4.10.0'
31
- gem "pry-rails"
32
- end
30
+ # While we still support Ruby < 3 we need to workaround a limitation in
31
+ # the 'async' gem that relies on the latest ruby, since RubyGems doesn't
32
+ # resolve gems based on the required ruby version.
33
+ gem 'async', '< 3' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3')
33
34
 
34
35
  gemspec
36
+
37
+ # Use a local Gemfile to include development dependencies that might not be
38
+ # relevant for the project or for other contributors, e.g. pry-byebug.
39
+ #
40
+ # We use `send` instead of calling `eval_gemfile` to work around an issue with
41
+ # how Dependabot parses projects: https://github.com/dependabot/dependabot-core/issues/1658.
42
+ send(:eval_gemfile, 'Gemfile-local') if File.exist? 'Gemfile-local'
data/LICENSE ADDED
@@ -0,0 +1,26 @@
1
+ Copyright (c) 2016-2020 Stembolt and other contributors
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification,
5
+ are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright notice,
8
+ this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright notice,
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+ * Neither the name Solidus nor the names of its contributors may be used to
13
+ endorse or promote products derived from this software without specific
14
+ prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
20
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.