multi-solr 01.05.00 → 01.06.00

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,30 @@
1
+ # Filter for booleans
2
+
3
+ class MultiSolr::SolrFilterBoolean < MultiSolr::SolrFilterSimple
4
+
5
+
6
+
7
+ # Erzeugen des SolR-Query-Strings
8
+ def build_solr_query value
9
+ return nil if value.blank?
10
+ "#{@field_name}:#{to_bool(value)}"
11
+ end
12
+
13
+
14
+ def render_value value
15
+ to_bool(value) ? 'yes' : 'no'
16
+ end
17
+
18
+
19
+ private
20
+
21
+
22
+ def to_bool value
23
+ value && (value == true || value=='1' || value==1 || value=='true')
24
+ end
25
+
26
+ end
27
+
28
+
29
+
30
+
@@ -1,3 +1,3 @@
1
1
  module MultiSolr
2
- VERSION = "01.05.00"
2
+ VERSION = "01.06.00"
3
3
  end
data/lib/multi_solr.rb CHANGED
@@ -8,6 +8,7 @@ require 'multi_solr/solr_filter_collection'
8
8
  require 'multi_solr/solr_filter_date'
9
9
  require 'multi_solr/solr_filter_date_range'
10
10
  require 'multi_solr/solr_filter_free_query'
11
+ require 'multi_solr/solr_filter_boolean'
11
12
  require 'multi_solr/filter_value_composite'
12
13
  require 'multi_solr/search_request'
13
14
  require 'multi_solr/search_result'
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+ require 'multi_solr/utils'
3
+
4
+ describe MultiSolr::SolrFilterBoolean do
5
+
6
+ subject{ MultiSolr::SolrFilterBoolean.new('test') }
7
+
8
+ context 'render_value' do
9
+ it "should return 'yes' if value is 1 or true" do
10
+ subject.render_value(1).should == 'yes'
11
+ subject.render_value('1').should == 'yes'
12
+ subject.render_value(true).should == 'yes'
13
+ subject.render_value('1').should == 'yes'
14
+ end
15
+
16
+ it "should return 'no' if value is 0 or false or nil or blank" do
17
+ subject.render_value(0).should == 'no'
18
+ subject.render_value('0').should == 'no'
19
+ subject.render_value(false).should == 'no'
20
+ subject.render_value('false').should == 'no'
21
+ subject.render_value('').should == 'no'
22
+ subject.render_value(nil).should == 'no'
23
+ end
24
+
25
+ end
26
+
27
+ context 'build_solr_query' do
28
+ it "should return fieldnam:true for true value" do
29
+ subject.build_solr_query('1').should == 'test:true'
30
+ end
31
+
32
+ it "should return fieldnam:false for false value" do
33
+ subject.build_solr_query('0').should == 'test:false'
34
+ end
35
+ end
36
+
37
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multi-solr
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 5
8
+ - 6
9
9
  - 0
10
- version: 01.05.00
10
+ version: 01.06.00
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bernd Ledig
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-09-19 00:00:00 Z
18
+ date: 2012-09-26 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rsolr
@@ -131,6 +131,7 @@ files:
131
131
  - lib/multi_solr/search_request.rb
132
132
  - lib/multi_solr/search_result.rb
133
133
  - lib/multi_solr/single_core_handler.rb
134
+ - lib/multi_solr/solr_filter_boolean.rb
134
135
  - lib/multi_solr/solr_filter_collection.rb
135
136
  - lib/multi_solr/solr_filter_date.rb
136
137
  - lib/multi_solr/solr_filter_date_range.rb
@@ -144,6 +145,7 @@ files:
144
145
  - spec/multi_solr/search_request_spec.rb
145
146
  - spec/multi_solr/search_result_spec.rb
146
147
  - spec/multi_solr/single_core_handler_spec.rb
148
+ - spec/multi_solr/solr_filter_boolean_spec.rb
147
149
  - spec/multi_solr/timeline_core_handler_spec.rb
148
150
  - spec/multi_solr/utils_spec.rb
149
151
  - spec/solr_test_helper.rb