multi-solr 01.06.00 → 01.07.00

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,6 +27,7 @@ class MultiSolr::SearchRequest
27
27
 
28
28
  BASE_FILTER_MAP = { :simple => MultiSolr::SolrFilterSimple,
29
29
  :collection => MultiSolr::SolrFilterCollection,
30
+ :range => MultiSolr::SolrFilterRange,
30
31
  :date_range => MultiSolr::SolrFilterDateRange,
31
32
  :date => MultiSolr::SolrFilterDate,
32
33
  :free_query => MultiSolr::SolrFilterFreeQuery
@@ -1,6 +1,6 @@
1
1
  # Filter für Datumsbereiche mit von- und bis-Datum
2
2
 
3
- class MultiSolr::SolrFilterDateRange < MultiSolr::SolrFilterSimple
3
+ class MultiSolr::SolrFilterDateRange < MultiSolr::SolrFilterRange
4
4
 
5
5
  # Erzeugen des SolR-Query-Strings
6
6
  def build_solr_query value
@@ -10,16 +10,6 @@ class MultiSolr::SolrFilterDateRange < MultiSolr::SolrFilterSimple
10
10
  end
11
11
 
12
12
 
13
- def render_value value
14
- from, to = extract_from_to value
15
- return '' if from.nil? && to.nil?
16
- s = []
17
- s << "&gt;=#{from}" unless from.blank?
18
- s << "&lt;=#{to}" unless to.blank?
19
- s.join(' und ')
20
- end
21
-
22
-
23
13
  # Generieren der 2 Input-Felder mit der Option :as => :date_picker
24
14
  # Dadurch können diesem Felder das jQuery-Datepicker-UI nutzen
25
15
  # Params: siehe MultiSolr::SolrFilterSimple#render_for_semantic_form
@@ -39,15 +29,6 @@ class MultiSolr::SolrFilterDateRange < MultiSolr::SolrFilterSimple
39
29
  end
40
30
 
41
31
 
42
- # Aus dem 'value' von und bis extrahieren
43
- # Params:
44
- # value: Hash mit from- und to-Datumsangabe (mit Filternamen als Prefix)
45
- # Beispiel: { 'create_date_from' => '2011-01-01', 'create_date_to' => '2011-06-01' }
46
- # returns: Array mit von und bis ['2011-01-01', '2011-06-01']
47
- def extract_from_to value
48
- return nil if value.blank? || !value.is_a?(Hash) || value.empty?
49
- [ value["#{@name}_from"], value["#{@name }_to"] ]
50
- end
51
32
 
52
33
  def extract_from_to_in_ISO8601 value
53
34
  from, to = extract_from_to value
@@ -0,0 +1,38 @@
1
+ # Filter für DBereiche mit von- und bis-Werten
2
+
3
+ class MultiSolr::SolrFilterRange < MultiSolr::SolrFilterSimple
4
+
5
+ # Erzeugen des SolR-Query-Strings
6
+ def build_solr_query value
7
+ from, to = extract_from_to value
8
+ return nil if from.nil? && to.nil?
9
+ "#{@field_name}:[#{from || '*'} TO #{to || '*'}]"
10
+ end
11
+
12
+
13
+ def render_value value
14
+ from, to = extract_from_to value
15
+ return '' if from.nil? && to.nil?
16
+ s = []
17
+ s << "&gt;=#{from}" unless from.blank?
18
+ s << "&lt;=#{to}" unless to.blank?
19
+ s.join(' und ')
20
+ end
21
+
22
+
23
+
24
+ # Aus dem 'value' von und bis extrahieren
25
+ # Params:
26
+ # value: Hash mit from- und to-Datumsangabe (mit Filternamen als Prefix)
27
+ # Beispiel: { 'create_date_from' => '2011-01-01', 'create_date_to' => '2011-06-01' }
28
+ # returns: Array mit von und bis ['2011-01-01', '2011-06-01']
29
+ def extract_from_to value
30
+ return nil if value.blank? || !value.is_a?(Hash) || value.empty?
31
+ [ value["#{@name}_from"], value["#{@name }_to"] ]
32
+ end
33
+
34
+ end
35
+
36
+
37
+
38
+
@@ -1,3 +1,3 @@
1
1
  module MultiSolr
2
- VERSION = "01.06.00"
2
+ VERSION = "01.07.00"
3
3
  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: 15
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 6
8
+ - 7
9
9
  - 0
10
- version: 01.06.00
10
+ version: 01.07.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-26 00:00:00 Z
18
+ date: 2013-01-22 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rsolr
@@ -136,6 +136,7 @@ files:
136
136
  - lib/multi_solr/solr_filter_date.rb
137
137
  - lib/multi_solr/solr_filter_date_range.rb
138
138
  - lib/multi_solr/solr_filter_free_query.rb
139
+ - lib/multi_solr/solr_filter_range.rb
139
140
  - lib/multi_solr/solr_filter_simple.rb
140
141
  - lib/multi_solr/timeline_core_handler.rb
141
142
  - lib/multi_solr/utils.rb