spree_core 4.4.1 → 4.5.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 (158) hide show
  1. checksums.yaml +4 -4
  2. data/app/finders/spree/products/find.rb +1 -3
  3. data/app/finders/spree/taxons/find.rb +1 -1
  4. data/app/helpers/spree/base_helper.rb +12 -9
  5. data/app/helpers/spree/locale_helper.rb +6 -2
  6. data/app/helpers/spree/products_helper.rb +9 -4
  7. data/app/jobs/spree/variants/remove_from_incomplete_orders_job.rb +9 -0
  8. data/app/jobs/spree/variants/remove_line_item_job.rb +9 -0
  9. data/app/models/concerns/spree/calculated_adjustments.rb +1 -1
  10. data/app/models/concerns/spree/display_link.rb +17 -29
  11. data/app/models/concerns/spree/image_methods.rb +21 -9
  12. data/app/models/concerns/spree/metadata.rb +2 -2
  13. data/app/models/concerns/spree/product_scopes.rb +10 -8
  14. data/app/models/spree/address.rb +7 -1
  15. data/app/models/spree/asset/support/active_storage.rb +3 -2
  16. data/app/models/spree/asset.rb +3 -0
  17. data/app/models/spree/cms_page.rb +4 -0
  18. data/app/models/spree/cms_section.rb +12 -12
  19. data/app/models/spree/cms_section_image.rb +15 -0
  20. data/app/models/spree/cms_section_image_one.rb +4 -0
  21. data/app/models/spree/cms_section_image_three.rb +4 -0
  22. data/app/models/spree/cms_section_image_two.rb +4 -0
  23. data/app/models/spree/credit_card.rb +10 -4
  24. data/app/models/spree/customer_return.rb +3 -0
  25. data/app/models/spree/digital.rb +4 -0
  26. data/app/models/spree/digital_link.rb +7 -0
  27. data/app/models/spree/gateway/bogus.rb +1 -1
  28. data/app/models/spree/icon.rb +5 -1
  29. data/app/models/spree/image/configuration/active_storage.rb +5 -1
  30. data/app/models/spree/image.rb +3 -3
  31. data/app/models/spree/inventory_unit.rb +5 -2
  32. data/app/models/spree/legacy_user.rb +1 -2
  33. data/app/models/spree/line_item.rb +4 -1
  34. data/app/models/spree/linkable/homepage.rb +3 -0
  35. data/app/models/spree/linkable/uri.rb +3 -0
  36. data/app/models/spree/log_entry.rb +4 -0
  37. data/app/models/spree/menu.rb +3 -0
  38. data/app/models/spree/menu_item.rb +7 -11
  39. data/app/models/spree/option_type.rb +4 -0
  40. data/app/models/spree/option_value.rb +5 -0
  41. data/app/models/spree/order/address_book.rb +1 -0
  42. data/app/models/spree/order/store_credit.rb +0 -8
  43. data/app/models/spree/order.rb +11 -2
  44. data/app/models/spree/order_merger.rb +1 -1
  45. data/app/models/spree/payment/processing.rb +1 -1
  46. data/app/models/spree/payment.rb +7 -1
  47. data/app/models/spree/payment_capture_event.rb +4 -0
  48. data/app/models/spree/payment_method/store_credit.rb +1 -1
  49. data/app/models/spree/payment_method.rb +3 -0
  50. data/app/models/spree/payment_source.rb +10 -0
  51. data/app/models/spree/preference.rb +4 -0
  52. data/app/models/spree/price.rb +3 -0
  53. data/app/models/spree/product.rb +56 -14
  54. data/app/models/spree/product_property.rb +1 -0
  55. data/app/models/spree/promotion/rules/option_value.rb +2 -2
  56. data/app/models/spree/promotion.rb +6 -0
  57. data/app/models/spree/promotion_rule.rb +1 -1
  58. data/app/models/spree/promotion_rule_user.rb +1 -1
  59. data/app/models/spree/property.rb +3 -0
  60. data/app/models/spree/prototype.rb +3 -0
  61. data/app/models/spree/refund.rb +8 -0
  62. data/app/models/spree/reimbursement.rb +3 -0
  63. data/app/models/spree/return_authorization.rb +3 -0
  64. data/app/models/spree/return_item.rb +4 -0
  65. data/app/models/spree/role.rb +1 -1
  66. data/app/models/spree/role_user.rb +1 -1
  67. data/app/models/spree/shipment.rb +7 -0
  68. data/app/models/spree/shipping_category.rb +3 -0
  69. data/app/models/spree/shipping_method.rb +6 -0
  70. data/app/models/spree/state_change.rb +1 -1
  71. data/app/models/spree/stock/availability_validator.rb +9 -3
  72. data/app/models/spree/stock/content_item.rb +1 -1
  73. data/app/models/spree/stock/quantifier.rb +1 -1
  74. data/app/models/spree/stock_item.rb +5 -0
  75. data/app/models/spree/stock_location.rb +19 -5
  76. data/app/models/spree/stock_movement.rb +4 -0
  77. data/app/models/spree/stock_transfer.rb +3 -0
  78. data/app/models/spree/store.rb +19 -14
  79. data/app/models/spree/store_credit.rb +4 -1
  80. data/app/models/spree/store_favicon_image.rb +17 -0
  81. data/app/models/spree/store_logo.rb +9 -0
  82. data/app/models/spree/store_mailer_logo.rb +13 -0
  83. data/app/models/spree/tax_category.rb +6 -0
  84. data/app/models/spree/tax_rate.rb +6 -1
  85. data/app/models/spree/taxon.rb +4 -1
  86. data/app/models/spree/taxon_image/configuration/active_storage.rb +5 -1
  87. data/app/models/spree/taxon_image.rb +3 -2
  88. data/app/models/spree/taxonomy.rb +4 -1
  89. data/app/models/spree/variant.rb +43 -14
  90. data/app/models/spree/wished_item.rb +4 -0
  91. data/app/models/spree/wishlist.rb +4 -1
  92. data/app/models/spree/zone.rb +3 -0
  93. data/app/services/spree/addresses/create.rb +1 -1
  94. data/app/services/spree/addresses/update.rb +7 -2
  95. data/app/services/spree/cart/remove_line_item.rb +1 -0
  96. data/app/services/spree/variants/remove_line_items.rb +15 -0
  97. data/config/locales/en.yml +5 -2
  98. data/config/routes.rb +43 -0
  99. data/db/migrate/20211201202851_update_linkable_resource_types.rb +10 -0
  100. data/db/migrate/20211203082008_add_settings_to_payment_methods.rb +11 -0
  101. data/db/migrate/20211229162122_disable_propagate_all_variants_by_default.rb +5 -0
  102. data/db/migrate/20220103082046_add_status_and_make_active_at_to_spree_products.rb +7 -0
  103. data/db/migrate/20220106230929_add_internal_note_to_spree_orders.rb +5 -0
  104. data/db/migrate/20220113052823_create_payment_sources.rb +22 -0
  105. data/db/migrate/20220117100333_add_make_active_at_to_spree_products.rb +17 -0
  106. data/db/migrate/20220120092821_add_metadata_to_spree_tax_rates.rb +13 -0
  107. data/db/migrate/20220201103922_add_first_name_and_last_name_to_spree_users.rb +9 -0
  108. data/db/migrate/20220222083546_add_barcode_to_spree_variants.rb +6 -0
  109. data/db/migrate/20220329113557_fix_cms_pages_unique_indexes.rb +8 -0
  110. data/db/migrate/20220613133029_add_metadata_to_spree_stock_items.rb +13 -0
  111. data/lib/friendly_id/paranoia.rb +4 -0
  112. data/lib/generators/spree/dummy/dummy_generator.rb +13 -2
  113. data/lib/generators/spree/dummy/templates/package.json +12 -0
  114. data/lib/generators/spree/dummy/templates/rails/test.rb +2 -0
  115. data/lib/spree/core/configuration.rb +90 -0
  116. data/lib/spree/core/controller_helpers/auth.rb +3 -1
  117. data/lib/spree/core/controller_helpers/currency.rb +7 -5
  118. data/lib/spree/core/controller_helpers/locale.rb +8 -6
  119. data/lib/spree/core/controller_helpers/order.rb +4 -2
  120. data/lib/spree/core/controller_helpers/search.rb +1 -1
  121. data/lib/spree/core/controller_helpers/store.rb +5 -3
  122. data/lib/spree/core/dependencies.rb +130 -0
  123. data/lib/spree/core/engine.rb +47 -37
  124. data/{app/models/spree → lib/spree/core}/preferences/configuration.rb +3 -0
  125. data/{app/models/spree → lib/spree/core}/preferences/preferable.rb +3 -0
  126. data/lib/spree/core/search/base.rb +9 -5
  127. data/lib/spree/core/version.rb +1 -1
  128. data/lib/spree/core.rb +25 -5
  129. data/lib/spree/permitted_attributes.rb +9 -7
  130. data/lib/spree/testing_support/common_rake.rb +1 -0
  131. data/lib/spree/testing_support/factories/favicon_image_factory.rb +9 -0
  132. data/lib/spree/testing_support/factories/icon_factory.rb +3 -1
  133. data/lib/spree/testing_support/factories/image_factory.rb +3 -1
  134. data/lib/spree/testing_support/factories/menu_item_factory.rb +1 -1
  135. data/lib/spree/testing_support/factories/order_factory.rb +2 -1
  136. data/lib/spree/testing_support/factories/product_factory.rb +6 -1
  137. data/lib/spree/testing_support/factories/product_property_factory.rb +1 -0
  138. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  139. data/lib/spree/testing_support/factories/return_authorization_factory.rb +1 -1
  140. data/lib/spree/testing_support/factories/role_factory.rb +1 -1
  141. data/lib/spree/testing_support/factories/shipping_category_factory.rb +1 -1
  142. data/lib/spree/testing_support/factories/stock_location_factory.rb +3 -2
  143. data/lib/spree/testing_support/factories/store_factory.rb +1 -1
  144. data/lib/spree/testing_support/factories/taxon_image_factory.rb +3 -1
  145. data/lib/spree/testing_support/factories/user_factory.rb +4 -0
  146. data/lib/spree/testing_support/factories/variant_factory.rb +4 -0
  147. data/lib/spree_core.rb +2 -1
  148. data/lib/tasks/core.rake +12 -0
  149. data/spree_core.gemspec +2 -3
  150. metadata +64 -53
  151. data/app/models/friendly_id/slug_decorator.rb +0 -9
  152. data/app/models/spree/app_configuration.rb +0 -86
  153. data/app/models/spree/order_contents.rb +0 -31
  154. data/lib/friendly_id/slug_rails5_patch.rb +0 -11
  155. data/lib/spree/core/app_dependencies.rb +0 -126
  156. /data/{app/models/spree → lib/spree/core}/preferences/preferable_class_methods.rb +0 -0
  157. /data/{app/models/spree → lib/spree/core}/preferences/scoped_store.rb +0 -0
  158. /data/{app/models/spree → lib/spree/core}/preferences/store.rb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.1
4
+ version: 4.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-04-21 00:00:00.000000000 Z
12
+ date: 2022-12-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -17,112 +17,112 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '5.2'
20
+ version: '6.1'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '5.2'
27
+ version: '6.1'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: actionview
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '5.2'
34
+ version: '6.1'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '5.2'
41
+ version: '6.1'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: activejob
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '5.2'
48
+ version: '6.1'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '5.2'
55
+ version: '6.1'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: activemodel
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '5.2'
62
+ version: '6.1'
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.1'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: activerecord
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: '5.2'
76
+ version: '6.1'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: '5.2'
83
+ version: '6.1'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: activestorage
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '5.2'
90
+ version: '6.1'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '5.2'
97
+ version: '6.1'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: activesupport
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: '5.2'
104
+ version: '6.1'
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: '5.2'
111
+ version: '6.1'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: railties
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: '5.2'
118
+ version: '6.1'
119
119
  type: :runtime
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - ">="
124
124
  - !ruby/object:Gem::Version
125
- version: '5.2'
125
+ version: '6.1'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: activemerchant
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -307,16 +307,22 @@ dependencies:
307
307
  name: ransack
308
308
  requirement: !ruby/object:Gem::Requirement
309
309
  requirements:
310
- - - "~>"
310
+ - - ">="
311
311
  - !ruby/object:Gem::Version
312
312
  version: '2.3'
313
+ - - "<"
314
+ - !ruby/object:Gem::Version
315
+ version: '3.0'
313
316
  type: :runtime
314
317
  prerelease: false
315
318
  version_requirements: !ruby/object:Gem::Requirement
316
319
  requirements:
317
- - - "~>"
320
+ - - ">="
318
321
  - !ruby/object:Gem::Version
319
322
  version: '2.3'
323
+ - - "<"
324
+ - !ruby/object:Gem::Version
325
+ version: '3.0'
320
326
  - !ruby/object:Gem::Dependency
321
327
  name: rexml
322
328
  requirement: !ruby/object:Gem::Requirement
@@ -387,26 +393,6 @@ dependencies:
387
393
  - - ">="
388
394
  - !ruby/object:Gem::Version
389
395
  version: '0'
390
- - !ruby/object:Gem::Dependency
391
- name: mini_magick
392
- requirement: !ruby/object:Gem::Requirement
393
- requirements:
394
- - - "~>"
395
- - !ruby/object:Gem::Version
396
- version: '4.9'
397
- - - ">="
398
- - !ruby/object:Gem::Version
399
- version: 4.9.4
400
- type: :runtime
401
- prerelease: false
402
- version_requirements: !ruby/object:Gem::Requirement
403
- requirements:
404
- - - "~>"
405
- - !ruby/object:Gem::Version
406
- version: '4.9'
407
- - - ">="
408
- - !ruby/object:Gem::Version
409
- version: 4.9.4
410
396
  - !ruby/object:Gem::Dependency
411
397
  name: image_processing
412
398
  requirement: !ruby/object:Gem::Requirement
@@ -488,6 +474,8 @@ files:
488
474
  - app/helpers/spree/products_helper.rb
489
475
  - app/jobs/spree/base_job.rb
490
476
  - app/jobs/spree/stock_locations/stock_items/create_job.rb
477
+ - app/jobs/spree/variants/remove_from_incomplete_orders_job.rb
478
+ - app/jobs/spree/variants/remove_line_item_job.rb
491
479
  - app/models/concerns/spree/adjustment_source.rb
492
480
  - app/models/concerns/spree/calculated_adjustments.rb
493
481
  - app/models/concerns/spree/default_price.rb
@@ -511,7 +499,6 @@ files:
511
499
  - app/models/concerns/spree/user_reporting.rb
512
500
  - app/models/concerns/spree/user_roles.rb
513
501
  - app/models/concerns/spree/vat_price_calculation.rb
514
- - app/models/friendly_id/slug_decorator.rb
515
502
  - app/models/spree/ability.rb
516
503
  - app/models/spree/address.rb
517
504
  - app/models/spree/adjustable/adjuster/base.rb
@@ -520,7 +507,6 @@ files:
520
507
  - app/models/spree/adjustable/adjustments_updater.rb
521
508
  - app/models/spree/adjustable/promotion_accumulator.rb
522
509
  - app/models/spree/adjustment.rb
523
- - app/models/spree/app_configuration.rb
524
510
  - app/models/spree/asset.rb
525
511
  - app/models/spree/asset/support/active_storage.rb
526
512
  - app/models/spree/base.rb
@@ -552,6 +538,10 @@ files:
552
538
  - app/models/spree/cms/sections/side_by_side_images.rb
553
539
  - app/models/spree/cms_page.rb
554
540
  - app/models/spree/cms_section.rb
541
+ - app/models/spree/cms_section_image.rb
542
+ - app/models/spree/cms_section_image_one.rb
543
+ - app/models/spree/cms_section_image_three.rb
544
+ - app/models/spree/cms_section_image_two.rb
555
545
  - app/models/spree/country.rb
556
546
  - app/models/spree/credit_card.rb
557
547
  - app/models/spree/customer_return.rb
@@ -568,6 +558,8 @@ files:
568
558
  - app/models/spree/inventory_unit.rb
569
559
  - app/models/spree/legacy_user.rb
570
560
  - app/models/spree/line_item.rb
561
+ - app/models/spree/linkable/homepage.rb
562
+ - app/models/spree/linkable/uri.rb
571
563
  - app/models/spree/log_entry.rb
572
564
  - app/models/spree/menu.rb
573
565
  - app/models/spree/menu_item.rb
@@ -583,7 +575,6 @@ files:
583
575
  - app/models/spree/order/emails.rb
584
576
  - app/models/spree/order/payments.rb
585
577
  - app/models/spree/order/store_credit.rb
586
- - app/models/spree/order_contents.rb
587
578
  - app/models/spree/order_inventory.rb
588
579
  - app/models/spree/order_merger.rb
589
580
  - app/models/spree/order_promotion.rb
@@ -595,12 +586,8 @@ files:
595
586
  - app/models/spree/payment_method.rb
596
587
  - app/models/spree/payment_method/check.rb
597
588
  - app/models/spree/payment_method/store_credit.rb
589
+ - app/models/spree/payment_source.rb
598
590
  - app/models/spree/preference.rb
599
- - app/models/spree/preferences/configuration.rb
600
- - app/models/spree/preferences/preferable.rb
601
- - app/models/spree/preferences/preferable_class_methods.rb
602
- - app/models/spree/preferences/scoped_store.rb
603
- - app/models/spree/preferences/store.rb
604
591
  - app/models/spree/price.rb
605
592
  - app/models/spree/product.rb
606
593
  - app/models/spree/product_option_type.rb
@@ -699,6 +686,9 @@ files:
699
686
  - app/models/spree/store_credit_category.rb
700
687
  - app/models/spree/store_credit_event.rb
701
688
  - app/models/spree/store_credit_type.rb
689
+ - app/models/spree/store_favicon_image.rb
690
+ - app/models/spree/store_logo.rb
691
+ - app/models/spree/store_mailer_logo.rb
702
692
  - app/models/spree/store_payment_method.rb
703
693
  - app/models/spree/store_product.rb
704
694
  - app/models/spree/store_promotion.rb
@@ -779,6 +769,7 @@ files:
779
769
  - app/services/spree/shipments/remove_item.rb
780
770
  - app/services/spree/shipments/update.rb
781
771
  - app/services/spree/stock_locations/stock_items/create.rb
772
+ - app/services/spree/variants/remove_line_items.rb
782
773
  - app/services/spree/wallet/create_payment_source.rb
783
774
  - app/sorters/spree/base_sorter.rb
784
775
  - app/sorters/spree/orders/sort.rb
@@ -815,14 +806,27 @@ files:
815
806
  - db/migrate/20210929093238_create_spree_digitals.rb
816
807
  - db/migrate/20210930143043_rename_secret_to_token_on_spree_digital_links.rb
817
808
  - db/migrate/20210930155649_add_settings_to_spree_stores.rb
809
+ - db/migrate/20211201202851_update_linkable_resource_types.rb
810
+ - db/migrate/20211203082008_add_settings_to_payment_methods.rb
811
+ - db/migrate/20211229162122_disable_propagate_all_variants_by_default.rb
812
+ - db/migrate/20220103082046_add_status_and_make_active_at_to_spree_products.rb
813
+ - db/migrate/20220106230929_add_internal_note_to_spree_orders.rb
814
+ - db/migrate/20220113052823_create_payment_sources.rb
815
+ - db/migrate/20220117100333_add_make_active_at_to_spree_products.rb
816
+ - db/migrate/20220120092821_add_metadata_to_spree_tax_rates.rb
817
+ - db/migrate/20220201103922_add_first_name_and_last_name_to_spree_users.rb
818
+ - db/migrate/20220222083546_add_barcode_to_spree_variants.rb
819
+ - db/migrate/20220329113557_fix_cms_pages_unique_indexes.rb
820
+ - db/migrate/20220613133029_add_metadata_to_spree_stock_items.rb
818
821
  - db/seeds.rb
819
- - lib/friendly_id/slug_rails5_patch.rb
822
+ - lib/friendly_id/paranoia.rb
820
823
  - lib/generators/spree/custom_user/custom_user_generator.rb
821
824
  - lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt
822
825
  - lib/generators/spree/custom_user/templates/initializer.rb.tt
823
826
  - lib/generators/spree/custom_user/templates/migration.rb.tt
824
827
  - lib/generators/spree/dummy/dummy_generator.rb
825
828
  - lib/generators/spree/dummy/templates/initializers/devise.rb
829
+ - lib/generators/spree/dummy/templates/package.json
826
830
  - lib/generators/spree/dummy/templates/rails/application.rb
827
831
  - lib/generators/spree/dummy/templates/rails/boot.rb
828
832
  - lib/generators/spree/dummy/templates/rails/database.yml
@@ -835,8 +839,8 @@ files:
835
839
  - lib/generators/spree/install/install_generator.rb
836
840
  - lib/generators/spree/install/templates/config/initializers/spree.rb
837
841
  - lib/spree/core.rb
838
- - lib/spree/core/app_dependencies.rb
839
842
  - lib/spree/core/components.rb
843
+ - lib/spree/core/configuration.rb
840
844
  - lib/spree/core/controller_helpers/auth.rb
841
845
  - lib/spree/core/controller_helpers/common.rb
842
846
  - lib/spree/core/controller_helpers/currency.rb
@@ -845,12 +849,18 @@ files:
845
849
  - lib/spree/core/controller_helpers/search.rb
846
850
  - lib/spree/core/controller_helpers/store.rb
847
851
  - lib/spree/core/controller_helpers/strong_parameters.rb
852
+ - lib/spree/core/dependencies.rb
848
853
  - lib/spree/core/dependencies_helper.rb
849
854
  - lib/spree/core/engine.rb
850
855
  - lib/spree/core/importer.rb
851
856
  - lib/spree/core/importer/order.rb
852
857
  - lib/spree/core/importer/product.rb
853
858
  - lib/spree/core/number_generator.rb
859
+ - lib/spree/core/preferences/configuration.rb
860
+ - lib/spree/core/preferences/preferable.rb
861
+ - lib/spree/core/preferences/preferable_class_methods.rb
862
+ - lib/spree/core/preferences/scoped_store.rb
863
+ - lib/spree/core/preferences/store.rb
854
864
  - lib/spree/core/product_duplicator.rb
855
865
  - lib/spree/core/product_filters.rb
856
866
  - lib/spree/core/query_filters.rb
@@ -891,6 +901,7 @@ files:
891
901
  - lib/spree/testing_support/factories/customer_return_factory.rb
892
902
  - lib/spree/testing_support/factories/digital_factory.rb
893
903
  - lib/spree/testing_support/factories/digital_link_factory.rb
904
+ - lib/spree/testing_support/factories/favicon_image_factory.rb
894
905
  - lib/spree/testing_support/factories/icon_factory.rb
895
906
  - lib/spree/testing_support/factories/image_factory.rb
896
907
  - lib/spree/testing_support/factories/inventory_unit_factory.rb
@@ -978,9 +989,9 @@ licenses:
978
989
  - BSD-3-Clause
979
990
  metadata:
980
991
  bug_tracker_uri: https://github.com/spree/spree/issues
981
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.4.1
992
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.5.0
982
993
  documentation_uri: https://dev-docs.spreecommerce.org/
983
- source_code_uri: https://github.com/spree/spree/tree/v4.4.1
994
+ source_code_uri: https://github.com/spree/spree/tree/v4.5.0
984
995
  post_install_message:
985
996
  rdoc_options: []
986
997
  require_paths:
@@ -996,7 +1007,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
996
1007
  - !ruby/object:Gem::Version
997
1008
  version: 1.8.23
998
1009
  requirements: []
999
- rubygems_version: 3.5.3
1010
+ rubygems_version: 3.2.32
1000
1011
  signing_key:
1001
1012
  specification_version: 4
1002
1013
  summary: The bare bones necessary for Spree
@@ -1,9 +0,0 @@
1
- module FriendlyId
2
- module SlugDecorator
3
- def self.prepended(base)
4
- base.acts_as_paranoid
5
- end
6
- end
7
- end
8
-
9
- FriendlyId::Slug.prepend FriendlyId::SlugDecorator
@@ -1,86 +0,0 @@
1
- # This is the primary location for defining spree preferences
2
- #
3
- # The expectation is that this is created once and stored in
4
- # the spree environment
5
- #
6
- # setters:
7
- # a.color = :blue
8
- # a[:color] = :blue
9
- # a.set :color = :blue
10
- # a.preferred_color = :blue
11
- #
12
- # getters:
13
- # a.color
14
- # a[:color]
15
- # a.get :color
16
- # a.preferred_color
17
- #
18
- require 'spree/core/search/base'
19
-
20
- module Spree
21
- class AppConfiguration < Preferences::Configuration
22
- # Alphabetized to more easily lookup particular preferences
23
- preference :address_requires_state, :boolean, default: true # should state/state_name be required
24
- preference :address_requires_phone, :boolean, default: true # Determines whether we require phone in address
25
- preference :admin_path, :string, deprecated: true
26
- preference :admin_products_per_page, :integer, deprecated: true
27
- preference :admin_orders_per_page, :integer, deprecated: true
28
- preference :admin_properties_per_page, :integer, deprecated: true
29
- preference :admin_promotions_per_page, :integer, deprecated: true
30
- preference :admin_customer_returns_per_page, :integer, deprecated: true
31
- preference :admin_users_per_page, :integer, deprecated: true
32
- preference :admin_show_version, :boolean, deprecated: true
33
- preference :allow_checkout_on_gateway_error, :boolean, default: false
34
- preference :allow_guest_checkout, :boolean, default: true
35
- preference :alternative_shipping_phone, :boolean, default: false # Request extra phone for ship addr
36
- preference :always_include_confirm_step, :boolean, default: false # Ensures confirmation step is always in checkout_progress bar, but does not force a confirm step if your payment methods do not support it.
37
- preference :always_put_site_name_in_title, :boolean, deprecated: true
38
- preference :title_site_name_separator, :string, deprecated: true
39
- preference :auto_capture, :boolean, default: false # automatically capture the credit card (as opposed to just authorize and capture later)
40
- preference :auto_capture_on_dispatch, :boolean, default: false # Captures payment for each shipment in Shipment#after_ship callback, and makes Shipment.ready when payment authorized.
41
- preference :binary_inventory_cache, :boolean, default: false # only invalidate product cache when a stock item changes whether it is in_stock
42
- preference :checkout_zone, :string, default: nil, deprecated: true # replace with the name of a zone if you would like to limit the countries
43
- preference :company, :boolean, default: false # Request company field for billing and shipping addr
44
- preference :currency, :string, default: 'USD', deprecated: true
45
- preference :default_country_id, :integer, deprecated: true
46
- preference :disable_sku_validation, :boolean, default: false # when turned off disables the built-in SKU uniqueness validation
47
- preference :disable_store_presence_validation, :boolean, default: false # when turned off disables Store presence validation for Products and Payment Methods
48
- preference :expedited_exchanges, :boolean, default: false # NOTE this requires payment profiles to be supported on your gateway of choice as well as a delayed job handler to be configured with activejob. kicks off an exchange shipment upon return authorization save. charge customer if they do not return items within timely manner.
49
- preference :expedited_exchanges_days_window, :integer, default: 14 # the amount of days the customer has to return their item after the expedited exchange is shipped in order to avoid being charged
50
- preference :layout, :string, deprecated: 'Please use Spree::Frontend::Config[:layout] instead'
51
- preference :logo, :string, deprecated: true
52
- preference :mailer_logo, :string, deprecated: true
53
- preference :max_level_in_taxons_menu, :integer, deprecated: true
54
- preference :products_per_page, :integer, default: 12
55
- preference :require_master_price, :boolean, default: true
56
- preference :restock_inventory, :boolean, default: true # Determines if a return item is restocked automatically once it has been received
57
- preference :return_eligibility_number_of_days, :integer, default: 365
58
- preference :send_core_emails, :boolean, default: true # Default mail headers settings
59
- preference :shipping_instructions, :boolean, deprecated: true
60
- preference :show_only_complete_orders_by_default, :boolean, deprecated: true
61
- preference :show_variant_full_price, :boolean, default: false # Displays variant full price or difference with product price. Default false to be compatible with older behavior
62
- preference :show_products_without_price, :boolean, default: false
63
- preference :show_raw_product_description, :boolean, deprecated: true
64
- preference :tax_using_ship_address, :boolean, default: true
65
- preference :track_inventory_levels, :boolean, default: true # Determines whether to track on_hand values for variants / products.
66
-
67
- # Store credits configurations
68
- preference :non_expiring_credit_types, :array, default: []
69
- preference :credit_to_new_allocation, :boolean, default: false
70
-
71
- # Multi store configurations
72
- preference :show_store_selector, :boolean, deprecated: true
73
-
74
- # searcher_class allows spree extension writers to provide their own Search class
75
- def searcher_class
76
- @searcher_class ||= Spree::Core::Search::Base
77
- end
78
-
79
- # Sets the path used for products, taxons and pages.
80
- preference :storefront_products_path, :string, default: 'products'
81
- preference :storefront_taxons_path, :string, default: 't'
82
- preference :storefront_pages_path, :string, default: 'pages'
83
-
84
- attr_writer :searcher_class
85
- end
86
- end
@@ -1,31 +0,0 @@
1
- module Spree
2
- class OrderContents
3
- attr_accessor :order, :currency
4
-
5
- def initialize(order)
6
- @order = order
7
- end
8
-
9
- def add(variant, quantity = 1, options = {})
10
- Spree::Dependencies.cart_add_item_service.constantize.call(order: order,
11
- variant: variant,
12
- quantity: quantity,
13
- options: options).value
14
- end
15
-
16
- def remove(variant, quantity = 1, options = {})
17
- Spree::Dependencies.cart_remove_item_service.constantize.call(order: order,
18
- variant: variant,
19
- quantity: quantity,
20
- options: options).value
21
- end
22
-
23
- def remove_line_item(line_item, options = {})
24
- Spree::Cart::RemoveLineItem.call(order: @order, line_item: line_item, options: options).value
25
- end
26
-
27
- def update_cart(params)
28
- Spree::Dependencies.cart_update_service.constantize.call(order: order, params: params).value
29
- end
30
- end
31
- end
@@ -1,11 +0,0 @@
1
- # Temporary fix to FriendlyId in Rails5, so that we don't
2
- # encounter any validation errors when creating slugs via
3
- # FriendlyId::History on a paranoid model.
4
- # See: https://github.com/norman/friendly_id/issues/822
5
- if Rails::VERSION::STRING >= '5.0'
6
- module FriendlyId
7
- class Slug < ActiveRecord::Base
8
- belongs_to :sluggable, polymorphic: true, optional: true
9
- end
10
- end
11
- end
@@ -1,126 +0,0 @@
1
- module Spree
2
- class AppDependencies
3
- include Spree::DependenciesHelper
4
-
5
- INJECTION_POINTS = [
6
- :ability_class,
7
- :cart_create_service, :cart_add_item_service, :cart_remove_item_service,
8
- :cart_remove_line_item_service, :cart_set_item_quantity_service, :cart_recalculate_service,
9
- :cms_page_finder, :cart_update_service, :checkout_next_service, :checkout_advance_service, :checkout_update_service,
10
- :checkout_complete_service, :checkout_add_store_credit_service, :checkout_remove_store_credit_service, :checkout_get_shipping_rates_service,
11
- :coupon_handler, :menu_finder, :country_finder, :current_order_finder, :credit_card_finder,
12
- :completed_order_finder, :order_sorter, :cart_compare_line_items_service, :collection_paginator, :products_sorter,
13
- :products_finder, :taxon_finder, :line_item_by_variant_finder, :cart_estimate_shipping_rates_service,
14
- :account_create_address_service, :account_update_address_service, :account_create_service, :account_update_service,
15
- :address_finder, :collection_sorter, :error_handler, :current_store_finder, :cart_empty_service, :cart_destroy_service,
16
- :classification_reposition_service, :credit_cards_destroy_service, :cart_associate_service, :cart_change_currency_service,
17
- :line_item_create_service, :line_item_update_service, :line_item_destroy_service,
18
- :order_approve_service, :order_cancel_service, :shipment_change_state_service, :shipment_update_service,
19
- :shipment_create_service, :shipment_add_item_service, :shipment_remove_item_service,
20
- :payment_create_service, :address_create_service, :address_update_service,
21
- :checkout_select_shipping_method_service
22
- ].freeze
23
-
24
- attr_accessor *INJECTION_POINTS
25
-
26
- def initialize
27
- set_default_ability
28
- set_default_services
29
- set_default_finders
30
- end
31
-
32
- private
33
-
34
- def set_default_ability
35
- @ability_class = 'Spree::Ability'
36
- end
37
-
38
- def set_default_services
39
- # cart
40
- @cart_compare_line_items_service = 'Spree::CompareLineItems'
41
- @cart_create_service = 'Spree::Cart::Create'
42
- @cart_add_item_service = 'Spree::Cart::AddItem'
43
- @cart_update_service = 'Spree::Cart::Update'
44
- @cart_recalculate_service = 'Spree::Cart::Recalculate'
45
- @cart_remove_item_service = 'Spree::Cart::RemoveItem'
46
- @cart_remove_line_item_service = 'Spree::Cart::RemoveLineItem'
47
- @cart_set_item_quantity_service = 'Spree::Cart::SetQuantity'
48
- @cart_estimate_shipping_rates_service = 'Spree::Cart::EstimateShippingRates'
49
- @cart_empty_service = 'Spree::Cart::Empty'
50
- @cart_destroy_service = 'Spree::Cart::Destroy'
51
- @cart_associate_service = 'Spree::Cart::Associate'
52
- @cart_change_currency_service = 'Spree::Cart::ChangeCurrency'
53
-
54
- # checkout
55
- @checkout_next_service = 'Spree::Checkout::Next'
56
- @checkout_advance_service = 'Spree::Checkout::Advance'
57
- @checkout_update_service = 'Spree::Checkout::Update'
58
- @checkout_complete_service = 'Spree::Checkout::Complete'
59
- @checkout_add_store_credit_service = 'Spree::Checkout::AddStoreCredit'
60
- @checkout_remove_store_credit_service = 'Spree::Checkout::RemoveStoreCredit'
61
- @checkout_get_shipping_rates_service = 'Spree::Checkout::GetShippingRates'
62
- @checkout_select_shipping_method_service = 'Spree::Checkout::SelectShippingMethod'
63
-
64
- # order
65
- @order_approve_service = 'Spree::Orders::Approve'
66
- @order_cancel_service = 'Spree::Orders::Cancel'
67
-
68
- # shipment
69
- @shipment_change_state_service = 'Spree::Shipments::ChangeState'
70
- @shipment_create_service = 'Spree::Shipments::Create'
71
- @shipment_update_service = 'Spree::Shipments::Update'
72
- @shipment_add_item_service = 'Spree::Shipments::AddItem'
73
- @shipment_remove_item_service = 'Spree::Shipments::RemoveItem'
74
-
75
- # sorter
76
- @collection_sorter = 'Spree::BaseSorter'
77
- @order_sorter = 'Spree::BaseSorter'
78
- @products_sorter = 'Spree::Products::Sort'
79
-
80
- # paginator
81
- @collection_paginator = 'Spree::Shared::Paginate'
82
-
83
- # coupons
84
- # TODO: we should split this service into 2 separate - Add and Remove
85
- @coupon_handler = 'Spree::PromotionHandler::Coupon'
86
-
87
- # account
88
- @account_create_service = 'Spree::Account::Create'
89
- @account_update_service = 'Spree::Account::Update'
90
-
91
- # addresses
92
- @address_create_service = 'Spree::Addresses::Create'
93
- @address_update_service = 'Spree::Addresses::Update'
94
-
95
- # credit cards
96
- @credit_cards_destroy_service = 'Spree::CreditCards::Destroy'
97
-
98
- # classifications
99
- @classification_reposition_service = 'Spree::Classifications::Reposition'
100
-
101
- # line items
102
- @line_item_create_service = 'Spree::LineItems::Create'
103
- @line_item_update_service = 'Spree::LineItems::Update'
104
- @line_item_destroy_service = 'Spree::LineItems::Destroy'
105
-
106
- @payment_create_service = 'Spree::Payments::Create'
107
-
108
- # errors
109
- @error_handler = 'Spree::ErrorReporter'
110
- end
111
-
112
- def set_default_finders
113
- @address_finder = 'Spree::Addresses::Find'
114
- @country_finder = 'Spree::Countries::Find'
115
- @cms_page_finder = 'Spree::CmsPages::Find'
116
- @menu_finder = 'Spree::Menus::Find'
117
- @current_order_finder = 'Spree::Orders::FindCurrent'
118
- @current_store_finder = 'Spree::Stores::FindCurrent'
119
- @completed_order_finder = 'Spree::Orders::FindComplete'
120
- @credit_card_finder = 'Spree::CreditCards::Find'
121
- @products_finder = 'Spree::Products::Find'
122
- @taxon_finder = 'Spree::Taxons::Find'
123
- @line_item_by_variant_finder = 'Spree::LineItems::FindByVariant'
124
- end
125
- end
126
- end