multi-solr 01.06.00 → 01.07.00

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.
@@ -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