spree_meilisearch 6.0.0.beta4 → 6.0.0.rc2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ddb48b50746763554806d9f49faedcae871a56e2648193d03208e1a9a4a6c372
4
- data.tar.gz: bdd9da29d039246ae3ffbd2eac795a7fffe42028a1e86a5b92b63975e6b1997e
3
+ metadata.gz: 2469dcbb821ed9ce8c96655921dcceada7aaac41ab2ec5aacab72798a102031b
4
+ data.tar.gz: 37fd24e221e190cf3018968e2c4df070180668a37cb9080142c9d257c5191fea
5
5
  SHA512:
6
- metadata.gz: 7254291c55c155bf7532ffd297f52be806036ced04735a5c78e4f8fba9d415eb0afffe93d246a533c74ec79be3f05d780eafd40b4550a7305fe10e490ce112a8
7
- data.tar.gz: dc6c1361e5dc90d09294e2901b5989235502f79852e0b3ec42959fa5bbec0f065c4dd50510df43cea3d4d87889bda3b995146e5f531ef7f6658e28a25433c76a
6
+ metadata.gz: 2966b04a32b85bbf80458733f38d8d69deff3b1f406e97bc74087ab0ae39c58f44c07795802f83b39ff6cb2710b8558445f45bf716388f75b85b215e8bacaf81
7
+ data.tar.gz: '01569d0fa68a3b7232ae442832f7f44b1b17cc4af27eba59f55334589d988e917dd3640f7e643121ee9feffc081f5fde210528123a796a290cd469fc891ef2ba'
@@ -386,9 +386,11 @@ module SpreeMeilisearch
386
386
  def build_filter_condition(key, value)
387
387
  case key
388
388
  when 'price_gte'
389
- "price >= #{value.to_f}"
389
+ price_bound = price_filter_value(value)
390
+ "price >= #{price_bound}" if price_bound
390
391
  when 'price_lte'
391
- "price <= #{value.to_f}"
392
+ price_bound = price_filter_value(value)
393
+ "price <= #{price_bound}" if price_bound
392
394
  when 'in_stock'
393
395
  'in_stock = true' if value.to_s != '0'
394
396
  when 'out_of_stock'
@@ -438,6 +440,16 @@ module SpreeMeilisearch
438
440
  end
439
441
  end
440
442
 
443
+ # The bound as a plain decimal, or nil for anything else, so a malformed
444
+ # or enormous price never reaches the filter expression.
445
+ def price_filter_value(value)
446
+ return if value.to_s.length > 32
447
+
448
+ Spree::Money::Rounding.format_decimal(Spree::Money::Rounding.parse_decimal(value.to_s))
449
+ rescue Spree::Money::InvalidFormat
450
+ nil
451
+ end
452
+
441
453
  def format_custom_field_filter_value(value, numeric)
442
454
  if numeric
443
455
  Float(value.to_s, exception: false)&.to_s
@@ -4,14 +4,6 @@ module SpreeMeilisearch
4
4
  class Engine < Rails::Engine
5
5
  engine_name 'spree_meilisearch'
6
6
 
7
- # Gem name and module disagree on word boundaries (spree_meilisearch →
8
- # SpreeMeilisearch), so Zeitwerk needs telling once.
9
- initializer 'spree_meilisearch.inflections', before: :set_autoload_paths do
10
- Rails.autoloaders.each do |autoloader|
11
- autoloader.inflector.inflect('spree_meilisearch' => 'SpreeMeilisearch')
12
- end
13
- end
14
-
15
7
  config.after_initialize do
16
8
  # The document shape is Meilisearch's own — one document per locale and
17
9
  # currency, plus per-grouping membership documents carrying the position a
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_meilisearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.beta4
4
+ version: 6.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vendo Connect Inc.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2026-09-24 00:00:00.000000000 Z
12
+ date: 2026-10-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: meilisearch
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 6.0.0.beta4
34
+ version: 6.0.0.rc2
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: 6.0.0.beta4
41
+ version: 6.0.0.rc2
42
42
  description: Instant product search, filtering and faceted navigation for Spree via
43
43
  Meilisearch
44
44
  email: hello@spreecommerce.org
@@ -58,9 +58,9 @@ licenses:
58
58
  - MIT
59
59
  metadata:
60
60
  bug_tracker_uri: https://github.com/spree/spree/issues
61
- changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.beta4
61
+ changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.rc2
62
62
  documentation_uri: https://docs.spreecommerce.org/
63
- source_code_uri: https://github.com/spree/spree/tree/v6.0.0.beta4
63
+ source_code_uri: https://github.com/spree/spree/tree/v6.0.0.rc2
64
64
  post_install_message:
65
65
  rdoc_options: []
66
66
  require_paths: