supernova 0.7.1 → 0.7.2
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.
- data/VERSION +1 -1
- data/lib/supernova/collection.rb +20 -1
- data/lib/supernova/criteria.rb +4 -0
- data/lib/supernova/solr_criteria.rb +10 -1
- data/spec/integration/solr_spec.rb +17 -2
- data/spec/supernova/collection_spec.rb +50 -0
- data/spec/supernova/criteria_spec.rb +17 -0
- data/spec/supernova/solr_criteria_spec.rb +22 -8
- data/supernova.gemspec +2 -1
- metadata +43 -42
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.2
|
data/lib/supernova/collection.rb
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
require "will_paginate"
|
2
2
|
|
3
3
|
class Supernova::Collection < WillPaginate::Collection
|
4
|
-
attr_accessor :original_response, :facets
|
4
|
+
attr_accessor :original_response, :facets, :original_criteria
|
5
|
+
|
6
|
+
def raw_facet_queries
|
7
|
+
raw_facet_counts["facet_queries"] || {}
|
8
|
+
end
|
9
|
+
|
10
|
+
def raw_facet_counts
|
11
|
+
original_response["facet_counts"] || {}
|
12
|
+
end
|
13
|
+
|
14
|
+
def facet_queries
|
15
|
+
@facet_queries ||= raw_facet_queries.inject({}) do |hash, (raw_query, count)|
|
16
|
+
hash[original_facet_queries.invert[raw_query]] = count
|
17
|
+
hash
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def original_facet_queries
|
22
|
+
original_criteria.search_options[:facet_queries] || {}
|
23
|
+
end
|
5
24
|
end
|
data/lib/supernova/criteria.rb
CHANGED
@@ -95,6 +95,10 @@ class Supernova::Criteria
|
|
95
95
|
def facet_fields(*fields)
|
96
96
|
merge_filters_array :facets, fields
|
97
97
|
end
|
98
|
+
|
99
|
+
def facet_queries(hash)
|
100
|
+
merge_search_options :facet_queries, hash
|
101
|
+
end
|
98
102
|
|
99
103
|
def conditions(filters)
|
100
104
|
merge_filters :conditions, filters
|
@@ -28,11 +28,15 @@ class Supernova::SolrCriteria < Supernova::Criteria
|
|
28
28
|
end
|
29
29
|
solr_options[:fq] << "type:#{self.clazz}" if self.clazz
|
30
30
|
|
31
|
+
solr_options[:facet] = true if include_facets?
|
31
32
|
if self.search_options[:facets]
|
32
|
-
solr_options[:facet] = true
|
33
33
|
solr_options["facet.field"] = self.search_options[:facets].compact.map { |field| solr_field_from_field(field) }
|
34
34
|
end
|
35
35
|
|
36
|
+
if self.search_options[:facet_queries]
|
37
|
+
solr_options["facet.query"] = self.search_options[:facet_queries].values
|
38
|
+
end
|
39
|
+
|
36
40
|
if self.search_options[:pagination] || search_options[:rows] || search_options[:start]
|
37
41
|
solr_options[:rows] = self.search_options[:rows] || per_page
|
38
42
|
solr_options[:start] = search_options[:start] || ((current_page - 1) * solr_options[:rows])
|
@@ -40,6 +44,10 @@ class Supernova::SolrCriteria < Supernova::Criteria
|
|
40
44
|
solr_options
|
41
45
|
end
|
42
46
|
|
47
|
+
def include_facets?
|
48
|
+
self.search_options[:facets] || self.search_options[:facet_queries]
|
49
|
+
end
|
50
|
+
|
43
51
|
def convert_search_order(order)
|
44
52
|
order.split(/\s*,\s*/).map do |chunk|
|
45
53
|
if chunk.match(/(.*?) (asc|desc)/i)
|
@@ -184,6 +192,7 @@ class Supernova::SolrCriteria < Supernova::Criteria
|
|
184
192
|
def execute
|
185
193
|
response = execute_raw
|
186
194
|
collection = Supernova::Collection.new(current_page, per_page == 0 ? 1 : per_page, response["response"]["numFound"])
|
195
|
+
collection.original_criteria = self.clone
|
187
196
|
collection.original_response = response
|
188
197
|
collection.facets = hashify_facets_from_response(response)
|
189
198
|
collection.replace(build_docs(response["response"]["docs"]))
|
@@ -261,7 +261,6 @@ describe "Solr" do
|
|
261
261
|
|
262
262
|
describe "#facets" do
|
263
263
|
it "returns the correct facets hash" do
|
264
|
-
# pending "fix me"
|
265
264
|
Supernova::Solr.add(:id => "offers/3", :type => "Offer", :user_id_i => 3, :enabled_b => false,
|
266
265
|
:text_t => "Hans Müller", :popularity_i => 10, :type => "Offer"
|
267
266
|
)
|
@@ -270,6 +269,20 @@ describe "Solr" do
|
|
270
269
|
end
|
271
270
|
end
|
272
271
|
|
272
|
+
describe "#facet_queries" do
|
273
|
+
it "returns the correct result" do
|
274
|
+
defaults = {
|
275
|
+
|
276
|
+
}
|
277
|
+
Supernova::Solr.add(:id => "offers/1", :type => "Offer", :popularity_i => 1)
|
278
|
+
Supernova::Solr.add(:id => "offers/2", :type => "Offer", :popularity_i => 10)
|
279
|
+
Supernova::Solr.add(:id => "offers/3", :type => "Offer", :popularity_i => 100)
|
280
|
+
Supernova::Solr.commit!
|
281
|
+
col = new_criteria.facet_queries(:one => "popularity_i:[* TO 1]", :ten => "popularity_i:[* TO 10]", :hundred => "popularity_i:[* TO 100]").execute
|
282
|
+
col.facet_queries.should == { :one => 1, :ten => 2, :hundred => 3 }
|
283
|
+
end
|
284
|
+
end
|
285
|
+
|
273
286
|
describe "#execute_raw" do
|
274
287
|
it "returns a hash" do
|
275
288
|
new_criteria.execute_raw.should be_kind_of(Hash)
|
@@ -305,7 +318,9 @@ describe "Solr" do
|
|
305
318
|
|
306
319
|
describe "with mapping" do
|
307
320
|
before(:each) do
|
308
|
-
|
321
|
+
name = "Class#{Time.now.to_f.to_s.gsub(".", "")}"
|
322
|
+
eval("class #{name} < Supernova::SolrIndexer; end")
|
323
|
+
@clazz = name.constantize
|
309
324
|
@clazz.has :location, :type => :string
|
310
325
|
@clazz.has :city, :type => :string
|
311
326
|
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "Supernova::Collection" do
|
4
|
+
let(:col) { Supernova::Collection.new(1, 10, 100) }
|
5
|
+
|
6
|
+
let(:original_response_with_facets) do
|
7
|
+
{"responseHeader"=>{"status"=>0, "QTime"=>2, "params"=>{"facet"=>"true", "wt"=>"json", "facet.query"=>["popularity_i:[* TO 1]", "popularity_i:[* TO 10]", "popularity_i:[* TO 100]"], "fq"=>"type:Offer", "q"=>"*:*"}}, "response"=>{"numFound"=>3, "start"=>0, "docs"=>[{"id"=>"offers/1", "type"=>"Offer", "popularity_i"=>1}, {"id"=>"offers/2", "type"=>"Offer", "popularity_i"=>10}, {"id"=>"offers/3", "type"=>"Offer", "popularity_i"=>100}]}, "facet_counts"=>{"facet_queries"=>{"popularity_i:[* TO 1]"=>1, "popularity_i:[* TO 10]"=>2, "popularity_i:[* TO 100]"=>3}, "facet_fields"=>{}, "facet_dates"=>{}, "facet_ranges"=>{}}}
|
8
|
+
end
|
9
|
+
|
10
|
+
let(:original_response_without_facets) do
|
11
|
+
{"responseHeader"=>{"status"=>0, "QTime"=>0, "params"=>{"wt"=>"json", "fq"=>"type:Offer", "q"=>"*:*"}}, "response"=>{"numFound"=>3, "start"=>0, "docs"=>[{"id"=>"offers/1", "type"=>"Offer", "popularity_i"=>1}, {"id"=>"offers/2", "type"=>"Offer", "popularity_i"=>10}, {"id"=>"offers/3", "type"=>"Offer", "popularity_i"=>100}]}}
|
12
|
+
{:one=>1, :ten=>2, :hundred=>3}
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "#raw_facet_queries" do
|
16
|
+
|
17
|
+
|
18
|
+
it "returns the correct facet queries when found" do
|
19
|
+
col.original_response = original_response_with_facets
|
20
|
+
col.raw_facet_queries.should == { "popularity_i:[* TO 1]"=>1, "popularity_i:[* TO 10]"=>2, "popularity_i:[* TO 100]"=>3 }
|
21
|
+
end
|
22
|
+
|
23
|
+
it "returns an empty hash when facet_queries is empty" do
|
24
|
+
col.original_response = original_response_without_facets
|
25
|
+
col.raw_facet_queries.should == {}
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "#facet_queries" do
|
30
|
+
it "returns the correct hash" do
|
31
|
+
crit = Supernova::Criteria.facet_queries(:one => "popularity_i:[* TO 1]", :ten => "popularity_i:[* TO 10]", :hundred => "popularity_i:[* TO 100]")
|
32
|
+
col.original_criteria = crit
|
33
|
+
col.original_response = original_response_with_facets
|
34
|
+
col.facet_queries.should == { :one => 1, :ten => 2, :hundred => 3 }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "#original_facet_queries" do
|
39
|
+
it "returns the correct hash when facet queries activated" do
|
40
|
+
queries = { :one => "popularity_i:[* TO 1]", :ten => "popularity_i:[* TO 10]", :hundred => "popularity_i:[* TO 100]" }
|
41
|
+
col.original_criteria = Supernova::Criteria.facet_queries(queries)
|
42
|
+
col.original_facet_queries.should == queries
|
43
|
+
end
|
44
|
+
|
45
|
+
it "returns an empty hash when not defined" do
|
46
|
+
col.original_criteria = Supernova::Criteria.new
|
47
|
+
col.original_facet_queries.should == {}
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -437,6 +437,23 @@ describe "Supernova::Criteria" do
|
|
437
437
|
scope.start(99).search_options[:start].should == 99
|
438
438
|
end
|
439
439
|
|
440
|
+
describe "#facet_queries" do
|
441
|
+
it "adds the queries to the facet_queries array" do
|
442
|
+
scope.facet_queries(:first => "1 = 1").facet_queries(:second => "2 = 2").search_options[:facet_queries].should == {
|
443
|
+
:first => "1 = 1", :second => "2 = 2"
|
444
|
+
}
|
445
|
+
end
|
446
|
+
|
447
|
+
it "allows merging of two scopes with facet queries" do
|
448
|
+
scope.immutable!
|
449
|
+
a = scope.facet_queries(:first => "1 = 1")
|
450
|
+
b = scope.facet_queries(:second => "2 = 2")
|
451
|
+
a.search_options[:facet_queries].should == { :first => "1 = 1" }
|
452
|
+
b.search_options[:facet_queries].should == { :second => "2 = 2" }
|
453
|
+
a.merge(b).search_options[:facet_queries].should == { :first => "1 = 1", :second => "2 = 2" }
|
454
|
+
end
|
455
|
+
end
|
456
|
+
|
440
457
|
describe "#merge" do
|
441
458
|
let(:criteria) { Supernova::Criteria.new.order("popularity asc").with(:a => 1).conditions(:b => 2).search("New Search") }
|
442
459
|
let(:new_crit) { Supernova::Criteria.new.order("popularity desc").with(:c => 8).conditions(:e => 9).search("Search") }
|
@@ -152,14 +152,29 @@ describe "Supernova::SolrCriteria" do
|
|
152
152
|
criteria.select(:user_id).select(:user_id).select(:enabled).to_params[:fl].should == "user_id,enabled,id"
|
153
153
|
end
|
154
154
|
|
155
|
-
|
156
|
-
|
157
|
-
|
155
|
+
describe "with facet fields" do
|
156
|
+
it "sets the correct facet options when set" do
|
157
|
+
params = criteria.facet_fields(:name).to_params
|
158
|
+
params[:facet].should == true
|
159
|
+
end
|
160
|
+
|
161
|
+
it "sets all facet fields" do
|
162
|
+
params = criteria.facet_fields(:name).facet_fields(:title).to_params
|
163
|
+
params["facet.field"].should == ["name", "title"]
|
164
|
+
end
|
158
165
|
end
|
159
166
|
|
160
|
-
|
161
|
-
params
|
162
|
-
|
167
|
+
describe "with facet queries", :wip => true do
|
168
|
+
let(:params) { criteria.facet_queries(:a => "a", :b => "b").to_params }
|
169
|
+
|
170
|
+
it "sets :facet to true" do
|
171
|
+
params[:facet].should == true
|
172
|
+
end
|
173
|
+
|
174
|
+
it "sets the correct facet query field" do
|
175
|
+
criteria.facet_queries(:a => "a", :b => "b")
|
176
|
+
params["facet.query"].should == ["a", "b"]
|
177
|
+
end
|
163
178
|
end
|
164
179
|
|
165
180
|
it "uses mapped fields for select" do
|
@@ -219,7 +234,6 @@ describe "Supernova::SolrCriteria" do
|
|
219
234
|
it "overwrites pagination with start" do
|
220
235
|
criteria.paginate(:per_page => 9, :page => 1).start(100).rows(11).to_params[:start].should == 100
|
221
236
|
end
|
222
|
-
|
223
237
|
end
|
224
238
|
|
225
239
|
describe "pagination" do
|
@@ -368,7 +382,7 @@ describe "Supernova::SolrCriteria" do
|
|
368
382
|
end
|
369
383
|
|
370
384
|
it "calls replace on collection with returned docs" do
|
371
|
-
col =
|
385
|
+
col = Supernova::Collection.new(1, 1, 10)
|
372
386
|
Supernova::Collection.stub!(:new).and_return col
|
373
387
|
built_docs = double("built docs")
|
374
388
|
criteria.stub!(:build_docs).and_return built_docs
|
data/supernova.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "supernova"
|
8
|
-
s.version = "0.7.
|
8
|
+
s.version = "0.7.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tobias Schwab"]
|
@@ -81,6 +81,7 @@ Gem::Specification.new do |s|
|
|
81
81
|
"spec/database.sql",
|
82
82
|
"spec/integration/solr_spec.rb",
|
83
83
|
"spec/spec_helper.rb",
|
84
|
+
"spec/supernova/collection_spec.rb",
|
84
85
|
"spec/supernova/condition_spec.rb",
|
85
86
|
"spec/supernova/criteria_spec.rb",
|
86
87
|
"spec/supernova/numeric_extensions_spec.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: supernova
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-02-14 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: will_paginate
|
16
|
-
requirement: &
|
16
|
+
requirement: &70321781020900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70321781020900
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &70321781018320 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70321781018320
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activesupport
|
38
|
-
requirement: &
|
38
|
+
requirement: &70321781016320 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70321781016320
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: typhoeus
|
49
|
-
requirement: &
|
49
|
+
requirement: &70321781013260 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - =
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.3.3
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70321781013260
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: i18n
|
60
|
-
requirement: &
|
60
|
+
requirement: &70321781011320 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70321781011320
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: activerecord
|
71
|
-
requirement: &
|
71
|
+
requirement: &70321781008720 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 3.0.7
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70321781008720
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: ruby-debug19
|
82
|
-
requirement: &
|
82
|
+
requirement: &70321781006600 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70321781006600
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: mysql2
|
93
|
-
requirement: &
|
93
|
+
requirement: &70321781004800 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: 0.2.18
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70321781004800
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: ZenTest
|
104
|
-
requirement: &
|
104
|
+
requirement: &70321781003700 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - =
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: 4.5.0
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70321781003700
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: geokit
|
115
|
-
requirement: &
|
115
|
+
requirement: &70321781002640 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70321781002640
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: guard
|
126
|
-
requirement: &
|
126
|
+
requirement: &70321781001180 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *70321781001180
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: rb-fsevent
|
137
|
-
requirement: &
|
137
|
+
requirement: &70321780999760 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '0'
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *70321780999760
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: growl
|
148
|
-
requirement: &
|
148
|
+
requirement: &70321780997780 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ! '>='
|
@@ -153,10 +153,10 @@ dependencies:
|
|
153
153
|
version: '0'
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *70321780997780
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: growl_notify
|
159
|
-
requirement: &
|
159
|
+
requirement: &70321780996620 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ! '>='
|
@@ -164,10 +164,10 @@ dependencies:
|
|
164
164
|
version: '0'
|
165
165
|
type: :development
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *70321780996620
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: autotest
|
170
|
-
requirement: &
|
170
|
+
requirement: &70321780995300 !ruby/object:Gem::Requirement
|
171
171
|
none: false
|
172
172
|
requirements:
|
173
173
|
- - ! '>='
|
@@ -175,10 +175,10 @@ dependencies:
|
|
175
175
|
version: '0'
|
176
176
|
type: :development
|
177
177
|
prerelease: false
|
178
|
-
version_requirements: *
|
178
|
+
version_requirements: *70321780995300
|
179
179
|
- !ruby/object:Gem::Dependency
|
180
180
|
name: autotest-growl
|
181
|
-
requirement: &
|
181
|
+
requirement: &70321780993280 !ruby/object:Gem::Requirement
|
182
182
|
none: false
|
183
183
|
requirements:
|
184
184
|
- - ! '>='
|
@@ -186,10 +186,10 @@ dependencies:
|
|
186
186
|
version: '0'
|
187
187
|
type: :development
|
188
188
|
prerelease: false
|
189
|
-
version_requirements: *
|
189
|
+
version_requirements: *70321780993280
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: rspec
|
192
|
-
requirement: &
|
192
|
+
requirement: &70321780989420 !ruby/object:Gem::Requirement
|
193
193
|
none: false
|
194
194
|
requirements:
|
195
195
|
- - ~>
|
@@ -197,10 +197,10 @@ dependencies:
|
|
197
197
|
version: 2.8.0
|
198
198
|
type: :development
|
199
199
|
prerelease: false
|
200
|
-
version_requirements: *
|
200
|
+
version_requirements: *70321780989420
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: bundler
|
203
|
-
requirement: &
|
203
|
+
requirement: &70321780987880 !ruby/object:Gem::Requirement
|
204
204
|
none: false
|
205
205
|
requirements:
|
206
206
|
- - ~>
|
@@ -208,10 +208,10 @@ dependencies:
|
|
208
208
|
version: 1.0.0
|
209
209
|
type: :development
|
210
210
|
prerelease: false
|
211
|
-
version_requirements: *
|
211
|
+
version_requirements: *70321780987880
|
212
212
|
- !ruby/object:Gem::Dependency
|
213
213
|
name: jeweler
|
214
|
-
requirement: &
|
214
|
+
requirement: &70321780986040 !ruby/object:Gem::Requirement
|
215
215
|
none: false
|
216
216
|
requirements:
|
217
217
|
- - ~>
|
@@ -219,10 +219,10 @@ dependencies:
|
|
219
219
|
version: 1.6.0
|
220
220
|
type: :development
|
221
221
|
prerelease: false
|
222
|
-
version_requirements: *
|
222
|
+
version_requirements: *70321780986040
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: rcov
|
225
|
-
requirement: &
|
225
|
+
requirement: &70321780983540 !ruby/object:Gem::Requirement
|
226
226
|
none: false
|
227
227
|
requirements:
|
228
228
|
- - ! '>='
|
@@ -230,7 +230,7 @@ dependencies:
|
|
230
230
|
version: '0'
|
231
231
|
type: :development
|
232
232
|
prerelease: false
|
233
|
-
version_requirements: *
|
233
|
+
version_requirements: *70321780983540
|
234
234
|
description: Unified search scopes
|
235
235
|
email: tobias.schwab@dynport.de
|
236
236
|
executables:
|
@@ -303,6 +303,7 @@ files:
|
|
303
303
|
- spec/database.sql
|
304
304
|
- spec/integration/solr_spec.rb
|
305
305
|
- spec/spec_helper.rb
|
306
|
+
- spec/supernova/collection_spec.rb
|
306
307
|
- spec/supernova/condition_spec.rb
|
307
308
|
- spec/supernova/criteria_spec.rb
|
308
309
|
- spec/supernova/numeric_extensions_spec.rb
|
@@ -327,7 +328,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
327
328
|
version: '0'
|
328
329
|
segments:
|
329
330
|
- 0
|
330
|
-
hash:
|
331
|
+
hash: 1961663635880777214
|
331
332
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
332
333
|
none: false
|
333
334
|
requirements:
|