spree_core 5.4.0.beta8 → 5.4.0.beta10

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/app/finders/spree/products/find.rb +1 -1
  3. data/app/jobs/spree/search_provider/index_job.rb +22 -0
  4. data/app/jobs/spree/search_provider/remove_job.rb +19 -0
  5. data/app/models/concerns/spree/product_scopes.rb +95 -135
  6. data/app/models/concerns/spree/search_indexable.rb +83 -0
  7. data/app/models/concerns/spree/{multi_searchable.rb → searchable.rb} +10 -3
  8. data/app/models/concerns/spree/user_methods.rb +11 -8
  9. data/app/models/spree/address.rb +3 -15
  10. data/app/models/spree/credit_card.rb +1 -0
  11. data/app/models/spree/inventory_unit.rb +1 -1
  12. data/app/models/spree/line_item.rb +4 -0
  13. data/app/models/spree/metafield_definition.rb +7 -4
  14. data/app/models/spree/option_type.rb +3 -0
  15. data/app/models/spree/option_value.rb +3 -0
  16. data/app/models/spree/order.rb +27 -9
  17. data/app/models/spree/order_promotion.rb +1 -1
  18. data/app/models/spree/product.rb +9 -31
  19. data/app/models/spree/refresh_token.rb +60 -0
  20. data/app/models/spree/search_provider/base.rb +81 -0
  21. data/app/models/spree/search_provider/database.rb +95 -0
  22. data/app/models/spree/search_provider/meilisearch.rb +302 -0
  23. data/app/models/spree/search_provider/search_result.rb +5 -0
  24. data/app/models/spree/shipment.rb +1 -1
  25. data/app/models/spree/shipping_method.rb +1 -1
  26. data/app/models/spree/shipping_rate.rb +1 -1
  27. data/app/models/spree/taxon.rb +2 -7
  28. data/app/models/spree/variant.rb +6 -25
  29. data/app/models/spree/wishlist.rb +1 -0
  30. data/app/presenters/spree/search_provider/product_presenter.rb +131 -0
  31. data/app/services/spree/carts/update.rb +5 -4
  32. data/db/migrate/20260317000000_create_spree_refresh_tokens.rb +16 -0
  33. data/db/sample_data/payment_methods.rb +2 -0
  34. data/lib/spree/core/version.rb +1 -1
  35. data/lib/spree/core.rb +16 -3
  36. data/lib/tasks/search.rake +15 -0
  37. metadata +30 -6
  38. data/app/models/spree/cart_promotion.rb +0 -7
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: 5.4.0.beta8
4
+ version: 5.4.0.beta10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-03-16 00:00:00.000000000 Z
13
+ date: 2026-03-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n-tasks
@@ -574,6 +574,20 @@ dependencies:
574
574
  - - "~>"
575
575
  - !ruby/object:Gem::Version
576
576
  version: '1.0'
577
+ - !ruby/object:Gem::Dependency
578
+ name: pagy
579
+ requirement: !ruby/object:Gem::Requirement
580
+ requirements:
581
+ - - "~>"
582
+ - !ruby/object:Gem::Version
583
+ version: '43.0'
584
+ type: :runtime
585
+ prerelease: false
586
+ version_requirements: !ruby/object:Gem::Requirement
587
+ requirements:
588
+ - - "~>"
589
+ - !ruby/object:Gem::Version
590
+ version: '43.0'
577
591
  description: Spree Models, Helpers, Services and core libraries
578
592
  email: hello@spreecommerce.org
579
593
  executables: []
@@ -845,6 +859,8 @@ files:
845
859
  - app/jobs/spree/products/refresh_metrics_job.rb
846
860
  - app/jobs/spree/products/touch_taxons_job.rb
847
861
  - app/jobs/spree/reports/generate_job.rb
862
+ - app/jobs/spree/search_provider/index_job.rb
863
+ - app/jobs/spree/search_provider/remove_job.rb
848
864
  - app/jobs/spree/stock_locations/stock_items/create_job.rb
849
865
  - app/jobs/spree/variants/remove_from_incomplete_orders_job.rb
850
866
  - app/jobs/spree/variants/remove_line_item_job.rb
@@ -866,7 +882,6 @@ files:
866
882
  - app/models/concerns/spree/memoized_data.rb
867
883
  - app/models/concerns/spree/metadata.rb
868
884
  - app/models/concerns/spree/metafields.rb
869
- - app/models/concerns/spree/multi_searchable.rb
870
885
  - app/models/concerns/spree/named_type.rb
871
886
  - app/models/concerns/spree/number_as_param.rb
872
887
  - app/models/concerns/spree/number_identifier.rb
@@ -876,6 +891,8 @@ files:
876
891
  - app/models/concerns/spree/product_scopes.rb
877
892
  - app/models/concerns/spree/publishable.rb
878
893
  - app/models/concerns/spree/ransackable_attributes.rb
894
+ - app/models/concerns/spree/search_indexable.rb
895
+ - app/models/concerns/spree/searchable.rb
879
896
  - app/models/concerns/spree/single_store_resource.rb
880
897
  - app/models/concerns/spree/store_scoped_resource.rb
881
898
  - app/models/concerns/spree/stores/markets.rb
@@ -923,7 +940,6 @@ files:
923
940
  - app/models/spree/calculator/shipping/price_sack.rb
924
941
  - app/models/spree/calculator/tiered_flat_rate.rb
925
942
  - app/models/spree/calculator/tiered_percent.rb
926
- - app/models/spree/cart_promotion.rb
927
943
  - app/models/spree/category.rb
928
944
  - app/models/spree/checkout/default_requirements.rb
929
945
  - app/models/spree/checkout/registry.rb
@@ -1077,6 +1093,7 @@ files:
1077
1093
  - app/models/spree/promotion_rule_user.rb
1078
1094
  - app/models/spree/prototype.rb
1079
1095
  - app/models/spree/prototype_taxon.rb
1096
+ - app/models/spree/refresh_token.rb
1080
1097
  - app/models/spree/refund.rb
1081
1098
  - app/models/spree/refund_reason.rb
1082
1099
  - app/models/spree/reimbursement.rb
@@ -1112,6 +1129,10 @@ files:
1112
1129
  - app/models/spree/returns_calculator.rb
1113
1130
  - app/models/spree/role.rb
1114
1131
  - app/models/spree/role_user.rb
1132
+ - app/models/spree/search_provider/base.rb
1133
+ - app/models/spree/search_provider/database.rb
1134
+ - app/models/spree/search_provider/meilisearch.rb
1135
+ - app/models/spree/search_provider/search_result.rb
1115
1136
  - app/models/spree/shipment.rb
1116
1137
  - app/models/spree/shipment/custom_events.rb
1117
1138
  - app/models/spree/shipment/webhooks.rb
@@ -1186,6 +1207,7 @@ files:
1186
1207
  - app/presenters/spree/filters/price_range_presenter.rb
1187
1208
  - app/presenters/spree/filters/quantified_price_range_presenter.rb
1188
1209
  - app/presenters/spree/product_summary_presenter.rb
1210
+ - app/presenters/spree/search_provider/product_presenter.rb
1189
1211
  - app/presenters/spree/variant_presenter.rb
1190
1212
  - app/presenters/spree/variants/option_types_presenter.rb
1191
1213
  - app/presenters/spree/variants/options_presenter.rb
@@ -1449,6 +1471,7 @@ files:
1449
1471
  - db/migrate/20260226100000_add_token_digest_to_spree_api_keys.rb
1450
1472
  - db/migrate/20260315000000_create_spree_allowed_origins.rb
1451
1473
  - db/migrate/20260315100000_add_product_media_support.rb
1474
+ - db/migrate/20260317000000_create_spree_refresh_tokens.rb
1452
1475
  - db/sample_data/customers.csv
1453
1476
  - db/sample_data/metafield_definitions.rb
1454
1477
  - db/sample_data/orders.rb
@@ -1649,6 +1672,7 @@ files:
1649
1672
  - lib/tasks/markets.rake
1650
1673
  - lib/tasks/products.rake
1651
1674
  - lib/tasks/sample_data.rake
1675
+ - lib/tasks/search.rake
1652
1676
  - lib/tasks/taxons.rake
1653
1677
  - lib/tasks/variants.rake
1654
1678
  - spec/fixtures/favicon.ico
@@ -1671,9 +1695,9 @@ licenses:
1671
1695
  - BSD-3-Clause
1672
1696
  metadata:
1673
1697
  bug_tracker_uri: https://github.com/spree/spree/issues
1674
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.beta8
1698
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.beta10
1675
1699
  documentation_uri: https://docs.spreecommerce.org/
1676
- source_code_uri: https://github.com/spree/spree/tree/v5.4.0.beta8
1700
+ source_code_uri: https://github.com/spree/spree/tree/v5.4.0.beta10
1677
1701
  post_install_message:
1678
1702
  rdoc_options: []
1679
1703
  require_paths:
@@ -1,7 +0,0 @@
1
- module Spree
2
- # Cart-facing view of an OrderPromotion.
3
- # Same table, different prefix ID (cp_) for the Cart API.
4
- class CartPromotion < OrderPromotion
5
- has_prefix_id :cpromo
6
- end
7
- end