sunspot_matchers 2.0.0.4 → 2.0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sunspot_matchers (2.0.0.3)
4
+ sunspot_matchers (2.0.0.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -103,11 +103,12 @@ module SunspotMatchers
103
103
  end
104
104
 
105
105
  def compare_multi_value(actual, comparison)
106
+ actual = [actual] unless actual.is_a?(Array)
107
+ comparison = [comparison] unless comparison.is_a?(Array)
106
108
  filter_values(comparison).reject do |value|
107
109
  next false unless actual
108
110
  value_matcher = Regexp.new(Regexp.escape(value))
109
- cmp_value = actual.is_a?(String) ? actual.chars : actual
110
- cmp_value.any?{ |actual_value| actual_value =~ value_matcher }
111
+ actual.any?{ |actual_value| actual_value =~ value_matcher }
111
112
  end
112
113
  end
113
114
 
@@ -1,3 +1,3 @@
1
1
  module SunspotMatchers
2
- VERSION = "2.0.0.4"
2
+ VERSION = "2.0.0.5"
3
3
  end
@@ -514,6 +514,14 @@ describe "Sunspot Matchers" do
514
514
  Sunspot.session.should have_search_params(:facet, :category_ids)
515
515
  end
516
516
 
517
+ it "should match if multiple facet exists" do
518
+ Sunspot.search(Post) do
519
+ facet :category_ids
520
+ facet :blog_id
521
+ end
522
+ Sunspot.session.should have_search_params(:facet, :category_ids)
523
+ end
524
+
517
525
  it "should not match if facet does not exist" do
518
526
  Sunspot.search(Post) do
519
527
  paginate :page => 5, :per_page => 15
@@ -557,6 +565,32 @@ describe "Sunspot Matchers" do
557
565
  }
558
566
  end
559
567
 
568
+ it "should match if multiple facet exists, but the facet you are matching on only has a single row" do
569
+ Sunspot.search(Post) do
570
+ facet(:average_rating) do
571
+ row(1.0..2.0) do
572
+ with(:average_rating, 1.0..2.0)
573
+ end
574
+ end
575
+
576
+ facet(:popularity) do
577
+ row(1..5) do
578
+ with(:popularity, 1..5)
579
+ end
580
+ row(6..10) do
581
+ with(:popularity, 6..10)
582
+ end
583
+ end
584
+ end
585
+ Sunspot.session.should have_search_params(:facet) {
586
+ facet(:average_rating) do
587
+ row(1.0..2.0) do
588
+ with(:average_rating, 1.0..2.0)
589
+ end
590
+ end
591
+ }
592
+ end
593
+
560
594
  it "should not match if actual search is missing a facet" do
561
595
  Sunspot.search(Post) do
562
596
  facet(:average_rating) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunspot_matchers
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.4
4
+ version: 2.0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-05 00:00:00.000000000 Z
12
+ date: 2013-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler