solidus_core 2.11.10 → 3.3.1

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 (252) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +6 -2
  3. data/app/assets/javascripts/spree.js.erb +0 -51
  4. data/app/controllers/spree/base_controller.rb +1 -1
  5. data/app/helpers/spree/base_helper.rb +1 -1
  6. data/app/helpers/spree/products_helper.rb +2 -2
  7. data/app/helpers/spree/store_helper.rb +0 -11
  8. data/app/mailers/spree/carton_mailer.rb +1 -5
  9. data/app/models/concerns/spree/active_storage_adapter/attachment.rb +30 -11
  10. data/app/models/concerns/spree/active_storage_adapter.rb +1 -1
  11. data/app/models/concerns/spree/adjustment_source.rb +0 -15
  12. data/app/models/concerns/spree/calculated_adjustments.rb +0 -18
  13. data/app/models/concerns/spree/default_price.rb +39 -10
  14. data/app/models/concerns/spree/ransackable_attributes.rb +24 -4
  15. data/app/models/concerns/spree/soft_deletable.rb +2 -4
  16. data/app/models/concerns/spree/user_address_book.rb +10 -37
  17. data/app/models/concerns/spree/user_methods.rb +38 -13
  18. data/app/models/spree/ability.rb +0 -37
  19. data/app/models/spree/address/name.rb +2 -20
  20. data/app/models/spree/address.rb +8 -186
  21. data/app/models/spree/adjustment.rb +7 -33
  22. data/app/models/spree/base.rb +0 -53
  23. data/app/models/spree/calculator/flat_fee.rb +21 -0
  24. data/app/models/spree/calculator/flexi_rate.rb +0 -5
  25. data/app/models/spree/calculator.rb +0 -7
  26. data/app/models/spree/carton.rb +1 -1
  27. data/app/models/spree/country.rb +2 -7
  28. data/app/models/spree/credit_card.rb +1 -28
  29. data/app/models/spree/customer_return.rb +5 -7
  30. data/app/models/spree/image/active_storage_attachment.rb +2 -7
  31. data/app/models/spree/image/paperclip_attachment.rb +2 -2
  32. data/app/models/spree/image.rb +0 -7
  33. data/app/models/spree/inventory_unit.rb +0 -21
  34. data/app/models/spree/line_item.rb +6 -49
  35. data/app/models/spree/log_entry.rb +74 -1
  36. data/app/models/spree/option_type.rb +1 -1
  37. data/app/models/spree/option_value.rb +10 -1
  38. data/app/models/spree/order/number_generator.rb +7 -1
  39. data/app/models/spree/order.rb +82 -170
  40. data/app/models/spree/order_cancellations.rb +4 -24
  41. data/app/models/spree/order_contents.rb +2 -1
  42. data/app/models/spree/order_inventory.rb +1 -1
  43. data/app/models/spree/order_merger.rb +2 -2
  44. data/app/models/spree/order_promotion.rb +1 -1
  45. data/app/models/spree/order_shipping.rb +6 -9
  46. data/app/models/spree/order_taxation.rb +6 -4
  47. data/app/models/spree/order_updater.rb +17 -16
  48. data/app/models/spree/payment/cancellation.rb +1 -1
  49. data/app/models/spree/payment/processing.rb +58 -55
  50. data/app/models/spree/payment.rb +0 -3
  51. data/app/models/spree/payment_create.rb +1 -13
  52. data/app/models/spree/payment_method/bogus_credit_card.rb +6 -7
  53. data/app/models/spree/payment_method/credit_card.rb +1 -3
  54. data/app/models/spree/payment_method/simple_bogus_credit_card.rb +8 -0
  55. data/app/models/spree/payment_method.rb +26 -110
  56. data/app/models/spree/price.rb +3 -3
  57. data/app/models/spree/product/scopes.rb +24 -33
  58. data/app/models/spree/product.rb +15 -42
  59. data/app/models/spree/product_property.rb +1 -1
  60. data/app/models/spree/promotion/actions/create_adjustment.rb +4 -3
  61. data/app/models/spree/promotion/actions/create_item_adjustments.rb +5 -9
  62. data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +0 -3
  63. data/app/models/spree/promotion/actions/free_shipping.rb +1 -0
  64. data/app/models/spree/promotion/order_adjustments_recalculator.rb +92 -0
  65. data/app/models/spree/promotion/rules/item_total.rb +50 -6
  66. data/app/models/spree/promotion/rules/product.rb +20 -8
  67. data/app/models/spree/promotion/rules/store.rb +4 -0
  68. data/app/models/spree/promotion/rules/taxon.rb +6 -15
  69. data/app/models/spree/promotion/rules/user.rb +4 -0
  70. data/app/models/spree/promotion.rb +39 -32
  71. data/app/models/spree/promotion_action.rb +6 -9
  72. data/app/models/spree/promotion_code/batch_builder.rb +0 -14
  73. data/app/models/spree/promotion_code.rb +11 -7
  74. data/app/models/spree/promotion_handler/cart.rb +26 -6
  75. data/app/models/spree/promotion_rule.rb +5 -0
  76. data/app/models/spree/property.rb +1 -1
  77. data/app/models/spree/refund.rb +8 -52
  78. data/app/models/spree/reimbursement.rb +5 -43
  79. data/app/models/spree/reimbursement_performer.rb +2 -8
  80. data/app/models/spree/reimbursement_type/credit.rb +1 -4
  81. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +1 -2
  82. data/app/models/spree/reimbursement_type/store_credit.rb +1 -4
  83. data/app/models/spree/return_authorization.rb +2 -5
  84. data/app/models/spree/return_item.rb +4 -24
  85. data/app/models/spree/shipment.rb +3 -56
  86. data/app/models/spree/shipping_method.rb +0 -25
  87. data/app/models/spree/shipping_rate.rb +0 -2
  88. data/app/models/spree/shipping_rate_tax.rb +1 -1
  89. data/app/models/spree/state.rb +1 -5
  90. data/app/models/spree/stock/allocator/on_hand_first.rb +2 -2
  91. data/app/models/spree/stock/availability.rb +11 -3
  92. data/app/models/spree/stock/quantifier.rb +12 -8
  93. data/app/models/spree/stock/simple_coordinator.rb +8 -26
  94. data/app/models/spree/stock/splitter/base.rb +2 -7
  95. data/app/models/spree/stock_item.rb +2 -8
  96. data/app/models/spree/stock_location.rb +2 -2
  97. data/app/models/spree/stock_movement.rb +2 -2
  98. data/app/models/spree/store.rb +0 -12
  99. data/app/models/spree/store_credit.rb +14 -1
  100. data/app/models/spree/store_credit_category.rb +0 -32
  101. data/app/models/spree/store_credit_prioritizer.rb +17 -0
  102. data/app/models/spree/tax/item_tax.rb +3 -2
  103. data/app/models/spree/tax/order_tax.rb +3 -1
  104. data/app/models/spree/tax/tax_helpers.rb +2 -2
  105. data/app/models/spree/tax/tax_location.rb +4 -7
  106. data/app/models/spree/tax_calculator/default.rb +31 -0
  107. data/app/models/spree/tax_calculator/shipping_rate.rb +2 -13
  108. data/app/models/spree/tax_rate.rb +9 -27
  109. data/app/models/spree/taxon/active_storage_attachment.rb +2 -7
  110. data/app/models/spree/taxon/paperclip_attachment.rb +3 -8
  111. data/app/models/spree/taxon.rb +1 -12
  112. data/app/models/spree/taxonomy.rb +1 -1
  113. data/app/models/spree/user_address.rb +0 -5
  114. data/app/models/spree/user_last_url_storer/rules/authentication_rule.rb +1 -1
  115. data/app/models/spree/variant/price_selector.rb +34 -4
  116. data/app/models/spree/variant.rb +52 -66
  117. data/app/models/spree/zone.rb +1 -1
  118. data/app/subscribers/spree/mailer_subscriber.rb +4 -0
  119. data/app/subscribers/spree/order_mailer_subscriber.rb +35 -0
  120. data/config/i18n-tasks.yml +134 -0
  121. data/config/locales/en.yml +406 -263
  122. data/db/migrate/20180416083007_add_apply_to_all_to_variant_property_rule.rb +1 -1
  123. data/db/migrate/20201127212108_add_type_before_removal_to_spree_payment_methods.rb +7 -0
  124. data/db/migrate/20210312061050_change_column_null_on_prices.rb +7 -0
  125. data/db/migrate/20220317165036_set_promotions_with_any_policy_to_all_if_possible.rb +20 -0
  126. data/db/migrate/20220805202442_add_level_to_spree_tax_rates.rb +5 -0
  127. data/db/migrate/20221123152807_add_shipping_category_to_spree_variants.rb +5 -0
  128. data/db/seeds.rb +4 -1
  129. data/lib/generators/solidus/install/app_templates/authentication/custom.rb +21 -0
  130. data/lib/generators/solidus/install/app_templates/authentication/devise.rb +16 -0
  131. data/lib/generators/solidus/install/app_templates/authentication/existing.rb +10 -0
  132. data/lib/generators/solidus/install/app_templates/authentication/none.rb +1 -0
  133. data/lib/generators/solidus/install/app_templates/frontend/break_down_solidus_gem.rb +54 -0
  134. data/lib/generators/solidus/install/app_templates/frontend/classic.rb +16 -0
  135. data/lib/generators/solidus/install/app_templates/frontend/none.rb +2 -0
  136. data/lib/generators/solidus/install/app_templates/frontend/starter.rb +3 -0
  137. data/lib/generators/solidus/install/app_templates/payment_method/bolt.rb +13 -0
  138. data/lib/generators/solidus/install/app_templates/payment_method/none.rb +1 -0
  139. data/lib/generators/solidus/install/app_templates/payment_method/paypal.rb +10 -0
  140. data/lib/generators/solidus/install/install_generator.rb +247 -149
  141. data/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt +15 -60
  142. data/lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/backend/all.js +2 -2
  143. data/lib/generators/solidus/update/templates/config/initializers/new_solidus_defaults.rb.tt +30 -0
  144. data/lib/generators/solidus/update/update_generator.rb +112 -0
  145. data/lib/generators/spree/custom_user/custom_user_generator.rb +6 -4
  146. data/lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt +2 -6
  147. data/lib/generators/spree/custom_user/templates/migration.rb.tt +7 -3
  148. data/lib/generators/spree/dummy/dummy_generator.rb +12 -9
  149. data/lib/generators/spree/dummy/templates/rails/application.rb.tt +0 -1
  150. data/lib/generators/spree/dummy/templates/rails/database.yml +81 -39
  151. data/lib/generators/spree/dummy/templates/rails/storage.yml +3 -0
  152. data/lib/generators/spree/dummy/templates/rails/test.rb +2 -0
  153. data/lib/spree/app_configuration.rb +134 -64
  154. data/lib/spree/bus.rb +20 -0
  155. data/lib/spree/core/class_constantizer.rb +2 -0
  156. data/lib/spree/core/controller_helpers/auth.rb +10 -15
  157. data/lib/spree/core/controller_helpers/current_host.rb +5 -3
  158. data/lib/spree/core/controller_helpers/order.rb +12 -32
  159. data/lib/spree/core/controller_helpers/payment_parameters.rb +0 -54
  160. data/lib/spree/core/controller_helpers/pricing.rb +0 -8
  161. data/lib/spree/core/controller_helpers/search.rb +1 -1
  162. data/lib/spree/core/controller_helpers/strong_parameters.rb +0 -4
  163. data/lib/spree/core/engine.rb +54 -50
  164. data/lib/spree/core/environment_extension.rb +0 -9
  165. data/lib/spree/core/product_filters.rb +1 -41
  166. data/lib/spree/core/role_configuration.rb +0 -14
  167. data/lib/spree/core/search/base.rb +18 -35
  168. data/lib/spree/core/state_machines/order.rb +2 -2
  169. data/lib/spree/core/state_machines.rb +2 -11
  170. data/lib/spree/core/stock_configuration.rb +18 -0
  171. data/lib/spree/core/validators/email.rb +5 -3
  172. data/lib/spree/core/version.rb +5 -1
  173. data/lib/spree/core/versioned_value.rb +75 -0
  174. data/lib/spree/core.rb +40 -11
  175. data/lib/spree/deprecation.rb +1 -1
  176. data/lib/spree/event/configuration.rb +0 -5
  177. data/lib/spree/event/subscriber.rb +0 -18
  178. data/lib/spree/event/subscriber_registry.rb +7 -7
  179. data/lib/spree/event.rb +1 -32
  180. data/lib/spree/i18n.rb +0 -22
  181. data/lib/spree/migrations.rb +13 -11
  182. data/lib/spree/money.rb +3 -18
  183. data/lib/spree/permission_sets/default_customer.rb +8 -1
  184. data/lib/spree/permitted_attributes.rb +17 -59
  185. data/lib/spree/preferences/configuration.rb +84 -0
  186. data/lib/spree/preferences/preferable.rb +13 -0
  187. data/lib/spree/preferences/preferable_class_methods.rb +37 -4
  188. data/lib/spree/preferences/preference_differentiator.rb +29 -0
  189. data/lib/spree/preferences/static_model_preferences.rb +25 -10
  190. data/lib/spree/rails_compatibility.rb +106 -0
  191. data/lib/spree/testing_support/blacklist_urls.rb +1 -1
  192. data/lib/spree/testing_support/bus_helpers.rb +101 -0
  193. data/lib/spree/testing_support/capybara_ext.rb +0 -30
  194. data/lib/spree/testing_support/common_rake.rb +71 -23
  195. data/lib/spree/testing_support/controller_requests.rb +0 -82
  196. data/lib/spree/testing_support/dummy_app/assets/javascripts/spree/backend/all.js +1 -1
  197. data/lib/spree/testing_support/dummy_app/assets/javascripts/spree/frontend/all.js +1 -1
  198. data/lib/spree/testing_support/dummy_app/database.yml +42 -22
  199. data/lib/spree/testing_support/dummy_app/migrations.rb +0 -3
  200. data/lib/spree/testing_support/dummy_app.rb +47 -34
  201. data/lib/spree/testing_support/factories/address_factory.rb +9 -6
  202. data/lib/spree/testing_support/factories/calculator_factory.rb +3 -0
  203. data/lib/spree/testing_support/factories/country_factory.rb +1 -2
  204. data/lib/spree/testing_support/factories/inventory_unit_factory.rb +1 -1
  205. data/lib/spree/testing_support/factories/order_factory.rb +8 -5
  206. data/lib/spree/testing_support/factories/product_factory.rb +4 -1
  207. data/lib/spree/testing_support/factories/promotion_factory.rb +28 -14
  208. data/lib/spree/testing_support/factories/refund_factory.rb +0 -1
  209. data/lib/spree/testing_support/factories/state_factory.rb +8 -2
  210. data/lib/spree/testing_support/factories/store_credit_factory.rb +4 -4
  211. data/lib/spree/testing_support/factories/user_factory.rb +6 -0
  212. data/lib/spree/testing_support/factory_bot.rb +2 -2
  213. data/lib/spree/testing_support/order_walkthrough.rb +6 -8
  214. data/lib/spree/testing_support/preferences.rb +0 -25
  215. data/lib/spree/testing_support/silence_deprecations.rb +9 -0
  216. data/lib/tasks/colorado_delivery_fee.rake +28 -0
  217. data/lib/tasks/payment_method.rake +29 -0
  218. data/lib/tasks/solidus/check_orders_with_invalid_email.rake +18 -0
  219. data/lib/tasks/solidus/delete_prices_with_nil_amount.rake +8 -0
  220. data/lib/tasks/solidus/split_promotions_with_any_match_policy.rake +33 -0
  221. data/solidus_core.gemspec +14 -7
  222. metadata +127 -78
  223. data/app/mailers/spree/test_mailer.rb +0 -13
  224. data/app/models/concerns/spree/user_payment_source.rb +0 -26
  225. data/app/models/spree/calculator/free_shipping.rb +0 -22
  226. data/app/models/spree/calculator/percent_per_item.rb +0 -51
  227. data/app/models/spree/calculator/price_sack.rb +0 -28
  228. data/app/models/spree/gateway/bogus.rb +0 -13
  229. data/app/models/spree/gateway/bogus_simple.rb +0 -13
  230. data/app/models/spree/gateway.rb +0 -14
  231. data/app/models/spree/order/checkout.rb +0 -244
  232. data/app/models/spree/order_capturing.rb +0 -50
  233. data/app/models/spree/promotion_handler/free_shipping.rb +0 -9
  234. data/app/models/spree/tax/shipping_rate_taxer.rb +0 -24
  235. data/lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -10
  236. data/lib/generators/solidus/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +0 -9
  237. data/lib/generators/spree/install/install_generator.rb +0 -15
  238. data/lib/solidus/migrations/rename_gateways.rb +0 -41
  239. data/lib/spree/core/current_store.rb +0 -24
  240. data/lib/spree/paranoia_deprecations.rb +0 -41
  241. data/lib/spree/promo/environment.rb +0 -12
  242. data/lib/spree/testing_support/bar_ability.rb +0 -19
  243. data/lib/tasks/core.rake +0 -104
  244. data/lib/tasks/email.rake +0 -12
  245. data/lib/tasks/migrations/copy_order_bill_address_to_credit_card.rake +0 -119
  246. data/lib/tasks/migrations/migrate_address_names.rake +0 -158
  247. data/lib/tasks/migrations/migrate_default_billing_addresses_to_address_book.rake +0 -26
  248. data/lib/tasks/migrations/migrate_shipping_rate_taxes.rake +0 -22
  249. data/lib/tasks/migrations/migrate_user_addresses.rake +0 -34
  250. data/lib/tasks/migrations/rename_gateways.rake +0 -23
  251. data/lib/tasks/order_capturing.rake +0 -27
  252. data/lib/tasks/upgrade.rake +0 -13
data/solidus_core.gemspec CHANGED
@@ -14,18 +14,20 @@ Gem::Specification.new do |s|
14
14
  s.homepage = 'http://solidus.io'
15
15
  s.license = 'BSD-3-Clause'
16
16
 
17
+ s.metadata['rubygems_mfa_required'] = 'true'
18
+
17
19
  s.files = `git ls-files -z`.split("\x0").reject do |f|
18
20
  f.match(%r{^(spec|script)/})
19
21
  end
20
22
 
21
- s.required_ruby_version = '>= 2.5.0'
23
+ s.required_ruby_version = '>= 2.7.0'
22
24
  s.required_rubygems_version = '>= 1.8.23'
23
25
 
24
26
  %w[
25
27
  actionmailer actionpack actionview activejob activemodel activerecord
26
28
  activesupport railties
27
29
  ].each do |rails_dep|
28
- s.add_dependency rails_dep, ['>= 5.2', '< 6.2.x']
30
+ s.add_dependency rails_dep, ['>= 6.0', '< 7.1.x']
29
31
  end
30
32
 
31
33
  s.add_dependency 'activemerchant', '~> 1.66'
@@ -39,10 +41,12 @@ Gem::Specification.new do |s|
39
41
  s.add_dependency 'kaminari-activerecord', '~> 1.1'
40
42
  s.add_dependency 'mini_magick', '~> 4.10'
41
43
  s.add_dependency 'monetize', '~> 1.8'
42
- s.add_dependency 'paperclip', '>= 4.2'
43
- s.add_dependency 'paranoia', '~> 2.4'
44
+ s.add_dependency 'kt-paperclip', ['>= 6.3', '< 8']
45
+ s.add_dependency 'psych', ['>= 3.1.0', '< 5.0']
44
46
  s.add_dependency 'ransack', '~> 2.0'
47
+ s.add_dependency 'sprockets-rails'
45
48
  s.add_dependency 'state_machines-activerecord', '~> 0.6'
49
+ s.add_dependency 'omnes', '~> 0.2.2'
46
50
 
47
51
  s.post_install_message = <<-MSG
48
52
  -------------------------------------------------------------
@@ -56,9 +60,12 @@ $ bin/rails g solidus:install
56
60
  If you are updating Solidus from an older version, please run
57
61
  the following commands to complete the update:
58
62
 
59
- $ bin/rails railties:install:migrations
60
- $ bin/rails db:migrate
61
- $ bin/rails solidus:upgrade:two_point_eleven
63
+ $ bin/rails g solidus:update
64
+
65
+ Please, don't forget to look at the CHANGELOG to see what has changed and
66
+ whether you need to perform other tasks.
67
+
68
+ https://github.com/solidusio/solidus/blob/master/CHANGELOG.md
62
69
 
63
70
  Please report any issues at:
64
71
  - https://github.com/solidusio/solidus/issues
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.10
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-10 00:00:00.000000000 Z
11
+ date: 2023-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -16,160 +16,160 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5.2'
19
+ version: '6.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 6.2.x
22
+ version: 7.1.x
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '5.2'
29
+ version: '6.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 6.2.x
32
+ version: 7.1.x
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: actionpack
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '5.2'
39
+ version: '6.0'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: 6.2.x
42
+ version: 7.1.x
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '5.2'
49
+ version: '6.0'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: 6.2.x
52
+ version: 7.1.x
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: actionview
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: '5.2'
59
+ version: '6.0'
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
- version: 6.2.x
62
+ version: 7.1.x
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: '5.2'
69
+ version: '6.0'
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: 6.2.x
72
+ version: 7.1.x
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: activejob
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: '5.2'
79
+ version: '6.0'
80
80
  - - "<"
81
81
  - !ruby/object:Gem::Version
82
- version: 6.2.x
82
+ version: 7.1.x
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '5.2'
89
+ version: '6.0'
90
90
  - - "<"
91
91
  - !ruby/object:Gem::Version
92
- version: 6.2.x
92
+ version: 7.1.x
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: activemodel
95
95
  requirement: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - ">="
98
98
  - !ruby/object:Gem::Version
99
- version: '5.2'
99
+ version: '6.0'
100
100
  - - "<"
101
101
  - !ruby/object:Gem::Version
102
- version: 6.2.x
102
+ version: 7.1.x
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: '5.2'
109
+ version: '6.0'
110
110
  - - "<"
111
111
  - !ruby/object:Gem::Version
112
- version: 6.2.x
112
+ version: 7.1.x
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: activerecord
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
117
  - - ">="
118
118
  - !ruby/object:Gem::Version
119
- version: '5.2'
119
+ version: '6.0'
120
120
  - - "<"
121
121
  - !ruby/object:Gem::Version
122
- version: 6.2.x
122
+ version: 7.1.x
123
123
  type: :runtime
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
126
126
  requirements:
127
127
  - - ">="
128
128
  - !ruby/object:Gem::Version
129
- version: '5.2'
129
+ version: '6.0'
130
130
  - - "<"
131
131
  - !ruby/object:Gem::Version
132
- version: 6.2.x
132
+ version: 7.1.x
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: activesupport
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
- version: '5.2'
139
+ version: '6.0'
140
140
  - - "<"
141
141
  - !ruby/object:Gem::Version
142
- version: 6.2.x
142
+ version: 7.1.x
143
143
  type: :runtime
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
147
  - - ">="
148
148
  - !ruby/object:Gem::Version
149
- version: '5.2'
149
+ version: '6.0'
150
150
  - - "<"
151
151
  - !ruby/object:Gem::Version
152
- version: 6.2.x
152
+ version: 7.1.x
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: railties
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: '5.2'
159
+ version: '6.0'
160
160
  - - "<"
161
161
  - !ruby/object:Gem::Version
162
- version: 6.2.x
162
+ version: 7.1.x
163
163
  type: :runtime
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
167
  - - ">="
168
168
  - !ruby/object:Gem::Version
169
- version: '5.2'
169
+ version: '6.0'
170
170
  - - "<"
171
171
  - !ruby/object:Gem::Version
172
- version: 6.2.x
172
+ version: 7.1.x
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: activemerchant
175
175
  requirement: !ruby/object:Gem::Requirement
@@ -331,33 +331,45 @@ dependencies:
331
331
  - !ruby/object:Gem::Version
332
332
  version: '1.8'
333
333
  - !ruby/object:Gem::Dependency
334
- name: paperclip
334
+ name: kt-paperclip
335
335
  requirement: !ruby/object:Gem::Requirement
336
336
  requirements:
337
337
  - - ">="
338
338
  - !ruby/object:Gem::Version
339
- version: '4.2'
339
+ version: '6.3'
340
+ - - "<"
341
+ - !ruby/object:Gem::Version
342
+ version: '8'
340
343
  type: :runtime
341
344
  prerelease: false
342
345
  version_requirements: !ruby/object:Gem::Requirement
343
346
  requirements:
344
347
  - - ">="
345
348
  - !ruby/object:Gem::Version
346
- version: '4.2'
349
+ version: '6.3'
350
+ - - "<"
351
+ - !ruby/object:Gem::Version
352
+ version: '8'
347
353
  - !ruby/object:Gem::Dependency
348
- name: paranoia
354
+ name: psych
349
355
  requirement: !ruby/object:Gem::Requirement
350
356
  requirements:
351
- - - "~>"
357
+ - - ">="
358
+ - !ruby/object:Gem::Version
359
+ version: 3.1.0
360
+ - - "<"
352
361
  - !ruby/object:Gem::Version
353
- version: '2.4'
362
+ version: '5.0'
354
363
  type: :runtime
355
364
  prerelease: false
356
365
  version_requirements: !ruby/object:Gem::Requirement
357
366
  requirements:
358
- - - "~>"
367
+ - - ">="
368
+ - !ruby/object:Gem::Version
369
+ version: 3.1.0
370
+ - - "<"
359
371
  - !ruby/object:Gem::Version
360
- version: '2.4'
372
+ version: '5.0'
361
373
  - !ruby/object:Gem::Dependency
362
374
  name: ransack
363
375
  requirement: !ruby/object:Gem::Requirement
@@ -372,6 +384,20 @@ dependencies:
372
384
  - - "~>"
373
385
  - !ruby/object:Gem::Version
374
386
  version: '2.0'
387
+ - !ruby/object:Gem::Dependency
388
+ name: sprockets-rails
389
+ requirement: !ruby/object:Gem::Requirement
390
+ requirements:
391
+ - - ">="
392
+ - !ruby/object:Gem::Version
393
+ version: '0'
394
+ type: :runtime
395
+ prerelease: false
396
+ version_requirements: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - ">="
399
+ - !ruby/object:Gem::Version
400
+ version: '0'
375
401
  - !ruby/object:Gem::Dependency
376
402
  name: state_machines-activerecord
377
403
  requirement: !ruby/object:Gem::Requirement
@@ -386,6 +412,20 @@ dependencies:
386
412
  - - "~>"
387
413
  - !ruby/object:Gem::Version
388
414
  version: '0.6'
415
+ - !ruby/object:Gem::Dependency
416
+ name: omnes
417
+ requirement: !ruby/object:Gem::Requirement
418
+ requirements:
419
+ - - "~>"
420
+ - !ruby/object:Gem::Version
421
+ version: 0.2.2
422
+ type: :runtime
423
+ prerelease: false
424
+ version_requirements: !ruby/object:Gem::Requirement
425
+ requirements:
426
+ - - "~>"
427
+ - !ruby/object:Gem::Version
428
+ version: 0.2.2
389
429
  description: Essential models, mailers, and classes for the Solidus e-commerce project.
390
430
  email: contact@solidus.io
391
431
  executables: []
@@ -415,7 +455,6 @@ files:
415
455
  - app/mailers/spree/order_mailer.rb
416
456
  - app/mailers/spree/promotion_code_batch_mailer.rb
417
457
  - app/mailers/spree/reimbursement_mailer.rb
418
- - app/mailers/spree/test_mailer.rb
419
458
  - app/models/concerns/spree/active_storage_adapter.rb
420
459
  - app/models/concerns/spree/active_storage_adapter/attachment.rb
421
460
  - app/models/concerns/spree/active_storage_adapter/normalization.rb
@@ -430,7 +469,6 @@ files:
430
469
  - app/models/concerns/spree/user_address_book.rb
431
470
  - app/models/concerns/spree/user_api_authentication.rb
432
471
  - app/models/concerns/spree/user_methods.rb
433
- - app/models/concerns/spree/user_payment_source.rb
434
472
  - app/models/concerns/spree/user_reporting.rb
435
473
  - app/models/spree/ability.rb
436
474
  - app/models/spree/address.rb
@@ -444,13 +482,11 @@ files:
444
482
  - app/models/spree/calculator.rb
445
483
  - app/models/spree/calculator/default_tax.rb
446
484
  - app/models/spree/calculator/distributed_amount.rb
485
+ - app/models/spree/calculator/flat_fee.rb
447
486
  - app/models/spree/calculator/flat_percent_item_total.rb
448
487
  - app/models/spree/calculator/flat_rate.rb
449
488
  - app/models/spree/calculator/flexi_rate.rb
450
- - app/models/spree/calculator/free_shipping.rb
451
489
  - app/models/spree/calculator/percent_on_line_item.rb
452
- - app/models/spree/calculator/percent_per_item.rb
453
- - app/models/spree/calculator/price_sack.rb
454
490
  - app/models/spree/calculator/returns/default_refund_amount.rb
455
491
  - app/models/spree/calculator/shipping/flat_percent_item_total.rb
456
492
  - app/models/spree/calculator/shipping/flat_rate.rb
@@ -469,9 +505,6 @@ files:
469
505
  - app/models/spree/fulfilment_changer.rb
470
506
  - app/models/spree/gallery/product_gallery.rb
471
507
  - app/models/spree/gallery/variant_gallery.rb
472
- - app/models/spree/gateway.rb
473
- - app/models/spree/gateway/bogus.rb
474
- - app/models/spree/gateway/bogus_simple.rb
475
508
  - app/models/spree/image.rb
476
509
  - app/models/spree/image/active_storage_attachment.rb
477
510
  - app/models/spree/image/paperclip_attachment.rb
@@ -484,11 +517,9 @@ files:
484
517
  - app/models/spree/option_value.rb
485
518
  - app/models/spree/option_values_variant.rb
486
519
  - app/models/spree/order.rb
487
- - app/models/spree/order/checkout.rb
488
520
  - app/models/spree/order/number_generator.rb
489
521
  - app/models/spree/order/payments.rb
490
522
  - app/models/spree/order_cancellations.rb
491
- - app/models/spree/order_capturing.rb
492
523
  - app/models/spree/order_contents.rb
493
524
  - app/models/spree/order_inventory.rb
494
525
  - app/models/spree/order_merger.rb
@@ -522,6 +553,7 @@ files:
522
553
  - app/models/spree/promotion/actions/create_item_adjustments.rb
523
554
  - app/models/spree/promotion/actions/create_quantity_adjustments.rb
524
555
  - app/models/spree/promotion/actions/free_shipping.rb
556
+ - app/models/spree/promotion/order_adjustments_recalculator.rb
525
557
  - app/models/spree/promotion/rules/first_order.rb
526
558
  - app/models/spree/promotion/rules/first_repeat_purchase_since.rb
527
559
  - app/models/spree/promotion/rules/item_total.rb
@@ -542,7 +574,6 @@ files:
542
574
  - app/models/spree/promotion_code_batch.rb
543
575
  - app/models/spree/promotion_handler/cart.rb
544
576
  - app/models/spree/promotion_handler/coupon.rb
545
- - app/models/spree/promotion_handler/free_shipping.rb
546
577
  - app/models/spree/promotion_handler/page.rb
547
578
  - app/models/spree/promotion_handler/shipping.rb
548
579
  - app/models/spree/promotion_rule.rb
@@ -625,6 +656,7 @@ files:
625
656
  - app/models/spree/store_credit.rb
626
657
  - app/models/spree/store_credit_category.rb
627
658
  - app/models/spree/store_credit_event.rb
659
+ - app/models/spree/store_credit_prioritizer.rb
628
660
  - app/models/spree/store_credit_reason.rb
629
661
  - app/models/spree/store_credit_type.rb
630
662
  - app/models/spree/store_payment_method.rb
@@ -634,7 +666,6 @@ files:
634
666
  - app/models/spree/tax/item_tax.rb
635
667
  - app/models/spree/tax/order_adjuster.rb
636
668
  - app/models/spree/tax/order_tax.rb
637
- - app/models/spree/tax/shipping_rate_taxer.rb
638
669
  - app/models/spree/tax/tax_helpers.rb
639
670
  - app/models/spree/tax/tax_location.rb
640
671
  - app/models/spree/tax_calculator/default.rb
@@ -667,6 +698,7 @@ files:
667
698
  - app/models/spree/zone.rb
668
699
  - app/models/spree/zone_member.rb
669
700
  - app/subscribers/spree/mailer_subscriber.rb
701
+ - app/subscribers/spree/order_mailer_subscriber.rb
670
702
  - app/views/layouts/spree/base_mailer.html.erb
671
703
  - app/views/spree/carton_mailer/shipped_email.html.erb
672
704
  - app/views/spree/carton_mailer/shipped_email.text.erb
@@ -685,6 +717,7 @@ files:
685
717
  - app/views/spree/shared/_error_messages.html.erb
686
718
  - app/views/spree/test_mailer/test_email.html.erb
687
719
  - app/views/spree/test_mailer/test_email.text.erb
720
+ - config/i18n-tasks.yml
688
721
  - config/initializers/assets.rb
689
722
  - config/initializers/friendly_id.rb
690
723
  - config/initializers/inflections.rb
@@ -729,14 +762,30 @@ files:
729
762
  - db/migrate/20200320144521_add_default_billng_flag_to_user_addresses.rb
730
763
  - db/migrate/20200530111458_add_bcc_email_to_spree_stores.rb
731
764
  - db/migrate/20201008213609_add_discontinue_on_to_spree_products.rb
765
+ - db/migrate/20201127212108_add_type_before_removal_to_spree_payment_methods.rb
732
766
  - db/migrate/20210122110141_add_name_to_spree_addresses.rb
767
+ - db/migrate/20210312061050_change_column_null_on_prices.rb
768
+ - db/migrate/20220317165036_set_promotions_with_any_policy_to_all_if_possible.rb
769
+ - db/migrate/20220805202442_add_level_to_spree_tax_rates.rb
770
+ - db/migrate/20221123152807_add_shipping_category_to_spree_variants.rb
733
771
  - db/seeds.rb
772
+ - lib/generators/solidus/install/app_templates/authentication/custom.rb
773
+ - lib/generators/solidus/install/app_templates/authentication/devise.rb
774
+ - lib/generators/solidus/install/app_templates/authentication/existing.rb
775
+ - lib/generators/solidus/install/app_templates/authentication/none.rb
776
+ - lib/generators/solidus/install/app_templates/frontend/break_down_solidus_gem.rb
777
+ - lib/generators/solidus/install/app_templates/frontend/classic.rb
778
+ - lib/generators/solidus/install/app_templates/frontend/none.rb
779
+ - lib/generators/solidus/install/app_templates/frontend/starter.rb
780
+ - lib/generators/solidus/install/app_templates/payment_method/bolt.rb
781
+ - lib/generators/solidus/install/app_templates/payment_method/none.rb
782
+ - lib/generators/solidus/install/app_templates/payment_method/paypal.rb
734
783
  - lib/generators/solidus/install/install_generator.rb
735
784
  - lib/generators/solidus/install/templates/config/initializers/spree.rb.tt
736
785
  - lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/backend/all.js
737
- - lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/frontend/all.js
738
786
  - lib/generators/solidus/install/templates/vendor/assets/stylesheets/spree/backend/all.css
739
- - lib/generators/solidus/install/templates/vendor/assets/stylesheets/spree/frontend/all.css
787
+ - lib/generators/solidus/update/templates/config/initializers/new_solidus_defaults.rb.tt
788
+ - lib/generators/solidus/update/update_generator.rb
740
789
  - lib/generators/spree/custom_user/custom_user_generator.rb
741
790
  - lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt
742
791
  - lib/generators/spree/custom_user/templates/migration.rb.tt
@@ -746,12 +795,12 @@ files:
746
795
  - lib/generators/spree/dummy/templates/rails/database.yml
747
796
  - lib/generators/spree/dummy/templates/rails/routes.rb
748
797
  - lib/generators/spree/dummy/templates/rails/script/rails
798
+ - lib/generators/spree/dummy/templates/rails/storage.yml
749
799
  - lib/generators/spree/dummy/templates/rails/test.rb
750
- - lib/generators/spree/install/install_generator.rb
751
800
  - lib/solidus/migrations/promotions_with_code_handlers.rb
752
- - lib/solidus/migrations/rename_gateways.rb
753
801
  - lib/solidus_core.rb
754
802
  - lib/spree/app_configuration.rb
803
+ - lib/spree/bus.rb
755
804
  - lib/spree/config.rb
756
805
  - lib/spree/core.rb
757
806
  - lib/spree/core/active_merchant_dependencies.rb
@@ -765,7 +814,6 @@ files:
765
814
  - lib/spree/core/controller_helpers/search.rb
766
815
  - lib/spree/core/controller_helpers/store.rb
767
816
  - lib/spree/core/controller_helpers/strong_parameters.rb
768
- - lib/spree/core/current_store.rb
769
817
  - lib/spree/core/engine.rb
770
818
  - lib/spree/core/environment.rb
771
819
  - lib/spree/core/environment/calculators.rb
@@ -792,6 +840,7 @@ files:
792
840
  - lib/spree/core/stock_configuration.rb
793
841
  - lib/spree/core/validators/email.rb
794
842
  - lib/spree/core/version.rb
843
+ - lib/spree/core/versioned_value.rb
795
844
  - lib/spree/deprecation.rb
796
845
  - lib/spree/encryptor.rb
797
846
  - lib/spree/event.rb
@@ -807,7 +856,6 @@ files:
807
856
  - lib/spree/migration_helpers.rb
808
857
  - lib/spree/migrations.rb
809
858
  - lib/spree/money.rb
810
- - lib/spree/paranoia_deprecations.rb
811
859
  - lib/spree/permission_sets.rb
812
860
  - lib/spree/permission_sets/base.rb
813
861
  - lib/spree/permission_sets/configuration_display.rb
@@ -832,16 +880,17 @@ files:
832
880
  - lib/spree/preferences/persistable.rb
833
881
  - lib/spree/preferences/preferable.rb
834
882
  - lib/spree/preferences/preferable_class_methods.rb
883
+ - lib/spree/preferences/preference_differentiator.rb
835
884
  - lib/spree/preferences/scoped_store.rb
836
885
  - lib/spree/preferences/static_model_preferences.rb
837
886
  - lib/spree/preferences/statically_configurable.rb
838
887
  - lib/spree/preferences/store.rb
839
- - lib/spree/promo/environment.rb
888
+ - lib/spree/rails_compatibility.rb
840
889
  - lib/spree/testing_support.rb
841
890
  - lib/spree/testing_support/ability_helpers.rb
842
891
  - lib/spree/testing_support/authorization_helpers.rb
843
- - lib/spree/testing_support/bar_ability.rb
844
892
  - lib/spree/testing_support/blacklist_urls.rb
893
+ - lib/spree/testing_support/bus_helpers.rb
845
894
  - lib/spree/testing_support/caching.rb
846
895
  - lib/spree/testing_support/capybara_ext.rb
847
896
  - lib/spree/testing_support/common_rake.rb
@@ -929,20 +978,16 @@ files:
929
978
  - lib/spree/testing_support/rake.rb
930
979
  - lib/spree/testing_support/sequences.rb
931
980
  - lib/spree/testing_support/shared_examples/gallery.rb
981
+ - lib/spree/testing_support/silence_deprecations.rb
932
982
  - lib/spree/testing_support/translations.rb
933
983
  - lib/spree/testing_support/url_helpers.rb
934
984
  - lib/spree/user_class_handle.rb
935
985
  - lib/spree_core.rb
936
- - lib/tasks/core.rake
937
- - lib/tasks/email.rake
938
- - lib/tasks/migrations/copy_order_bill_address_to_credit_card.rake
939
- - lib/tasks/migrations/migrate_address_names.rake
940
- - lib/tasks/migrations/migrate_default_billing_addresses_to_address_book.rake
941
- - lib/tasks/migrations/migrate_shipping_rate_taxes.rake
942
- - lib/tasks/migrations/migrate_user_addresses.rake
943
- - lib/tasks/migrations/rename_gateways.rake
944
- - lib/tasks/order_capturing.rake
945
- - lib/tasks/upgrade.rake
986
+ - lib/tasks/colorado_delivery_fee.rake
987
+ - lib/tasks/payment_method.rake
988
+ - lib/tasks/solidus/check_orders_with_invalid_email.rake
989
+ - lib/tasks/solidus/delete_prices_with_nil_amount.rake
990
+ - lib/tasks/solidus/split_promotions_with_any_match_policy.rake
946
991
  - solidus_core.gemspec
947
992
  - vendor/assets/javascripts/jquery.payment.js
948
993
  - vendor/assets/javascripts/jsuri.js
@@ -950,7 +995,8 @@ files:
950
995
  homepage: http://solidus.io
951
996
  licenses:
952
997
  - BSD-3-Clause
953
- metadata: {}
998
+ metadata:
999
+ rubygems_mfa_required: 'true'
954
1000
  post_install_message: |
955
1001
  -------------------------------------------------------------
956
1002
  Thank you for using Solidus
@@ -963,9 +1009,12 @@ post_install_message: |
963
1009
  If you are updating Solidus from an older version, please run
964
1010
  the following commands to complete the update:
965
1011
 
966
- $ bin/rails railties:install:migrations
967
- $ bin/rails db:migrate
968
- $ bin/rails solidus:upgrade:two_point_eleven
1012
+ $ bin/rails g solidus:update
1013
+
1014
+ Please, don't forget to look at the CHANGELOG to see what has changed and
1015
+ whether you need to perform other tasks.
1016
+
1017
+ https://github.com/solidusio/solidus/blob/master/CHANGELOG.md
969
1018
 
970
1019
  Please report any issues at:
971
1020
  - https://github.com/solidusio/solidus/issues
@@ -978,14 +1027,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
978
1027
  requirements:
979
1028
  - - ">="
980
1029
  - !ruby/object:Gem::Version
981
- version: 2.5.0
1030
+ version: 2.7.0
982
1031
  required_rubygems_version: !ruby/object:Gem::Requirement
983
1032
  requirements:
984
1033
  - - ">="
985
1034
  - !ruby/object:Gem::Version
986
1035
  version: 1.8.23
987
1036
  requirements: []
988
- rubygems_version: 3.1.4
1037
+ rubygems_version: 3.3.7
989
1038
  signing_key:
990
1039
  specification_version: 4
991
1040
  summary: Essential models, mailers, and classes for the Solidus e-commerce project.
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Spree
4
- class TestMailer < BaseMailer
5
- def test_email(email)
6
- Spree::Deprecation.warn("Spree::TestMailer has been deprecated and will be removed with Solidus 3.0")
7
-
8
- store = Spree::Store.default
9
- subject = "#{store.name} #{t('.subject')}"
10
- mail(to: email, from: from_address(store), subject: subject)
11
- end
12
- end
13
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Spree
4
- module UserPaymentSource
5
- extend ActiveSupport::Concern
6
-
7
- def default_credit_card
8
- Spree::Deprecation.warn(
9
- "user.default_credit_card is deprecated. Please use user.wallet.default_wallet_payment_source instead.",
10
- caller
11
- )
12
- default = wallet.default_wallet_payment_source
13
- if default && default.payment_source.is_a?(Spree::CreditCard)
14
- default.payment_source
15
- end
16
- end
17
-
18
- def payment_sources
19
- Spree::Deprecation.warn(
20
- "user.payment_sources is deprecated. Please use user.wallet.wallet_payment_sources instead.",
21
- caller
22
- )
23
- credit_cards.with_payment_profile
24
- end
25
- end
26
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_dependency 'spree/calculator'
4
-
5
- module Spree
6
- # @deprecated This calculator will be removed in future versions of Spree.
7
- # The only case where it was used was for Free Shipping Promotions. There is
8
- # now a Promotion Action which deals with these types of promotions instead.
9
- class Calculator::FreeShipping < Calculator
10
- def compute(object)
11
- Spree::Deprecation.warn('This method is deprecated, because it is no longer used')
12
- if object.is_a?(Array)
13
- return if object.empty?
14
- order = object.first.order
15
- else
16
- order = object
17
- end
18
-
19
- order.ship_total
20
- end
21
- end
22
- end