ansr_blacklight 0.0.3 → 0.0.4
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.
- checksums.yaml +8 -8
- data/ansr_blacklight.gemspec +2 -1
- data/lib/ansr_blacklight/relation.rb +9 -0
- data/spec/lib/loaded_relation_spec.rb +11 -11
- data/spec/lib/queryable_relation_spec.rb +0 -1
- data/spec/lib/relation/grouping_spec.rb +5 -3
- metadata +32 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YTJjYWIyMDhiNWVlNzNiYmRmNGFiMzdkMWQ3MTEyMDc0YmRiOTRmZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZGQ3NDNkN2YzYzM4OTRiMDc3YWVlOGY2NGQwN2NmMjI2NzU2MWRkNw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MWU2ZTEyMTNiOTIzNDU3ZjA5YTY4NmU1NTA0MGQ2OGMxNDRhMTJkYzgyYTk4
|
10
|
+
ZjYzNjIzNzgwNTMyMjZmMTQyNjI0Y2RlZDQ4ODc3YTE4MThhOTI5Yjc1OTY3
|
11
|
+
YmIyYWYyNGZlNWRkMDcxYWIxMjQ0MTY0YWE4YWViNWZhOGRiOTQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZTIyNTdhOGI0OThmYjUyMjFiODgxMTdjZGRkY2Y5NjE3NjQ4NzFiM2EyNGI4
|
14
|
+
Yjg3YWNjYjYxNDUxNDE4Zjc5YmQ2YjlmMDlmZGVjMDBkZTkxNmE4NGMwNjFh
|
15
|
+
NmRiYzE3ZWMwODhmMjU0MzA1MTU1ODkzNzZiMzU2YTNlODFlNDk=
|
data/ansr_blacklight.gemspec
CHANGED
@@ -19,7 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.add_dependency 'rest-client'
|
20
20
|
spec.add_dependency 'loggable'
|
21
21
|
spec.add_dependency "rails", ">= 3.2.6", "< 5"
|
22
|
-
|
22
|
+
spec.add_dependency "rsolr", "~> 1.0.6" # Library for interacting with rSolr.
|
23
|
+
spec.add_dependency "kaminari", "~> 0.13" # the pagination (page 1,2,3, etc..) of our search results
|
23
24
|
spec.add_dependency 'sass-rails'
|
24
25
|
spec.add_development_dependency("rake")
|
25
26
|
spec.add_development_dependency("bundler", ">= 1.0.14")
|
@@ -46,5 +46,14 @@ module Ansr::Blacklight
|
|
46
46
|
end
|
47
47
|
arel
|
48
48
|
end
|
49
|
+
|
50
|
+
def grouped?
|
51
|
+
loaded? ? response.grouped? : !group_values.blank?
|
52
|
+
end
|
53
|
+
|
54
|
+
def group_by(key=self.group_values.first)
|
55
|
+
loaded
|
56
|
+
response.grouped(model()).select { |x| x.key == key.to_s }
|
57
|
+
end
|
49
58
|
end
|
50
59
|
end
|
@@ -4,7 +4,7 @@ describe Ansr::Blacklight::Relation do
|
|
4
4
|
|
5
5
|
def create_response
|
6
6
|
raw_response = eval(mock_query_response)
|
7
|
-
Blacklight::
|
7
|
+
Ansr::Blacklight::Solr::Response.new(raw_response, raw_response['params'])
|
8
8
|
end
|
9
9
|
|
10
10
|
def stub_solr
|
@@ -133,64 +133,64 @@ describe Ansr::Blacklight::Relation do
|
|
133
133
|
it 'should provide the responseHeader params' do
|
134
134
|
raw_response = eval(mock_query_response)
|
135
135
|
raw_response['responseHeader']['params']['test'] = :test
|
136
|
-
r = Blacklight::
|
136
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, raw_response['params'])
|
137
137
|
r.params['test'].should == :test
|
138
138
|
end
|
139
139
|
|
140
140
|
it 'should provide the solr-returned params and "rows" should be 11' do
|
141
141
|
raw_response = eval(mock_query_response)
|
142
|
-
r = Blacklight::
|
142
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, {})
|
143
143
|
r.params[:rows].to_s.should == '11'
|
144
144
|
end
|
145
145
|
|
146
146
|
it 'should provide the ruby request params if responseHeader["params"] does not exist' do
|
147
147
|
raw_response = eval(mock_query_response)
|
148
148
|
raw_response.delete 'responseHeader'
|
149
|
-
r = Blacklight::
|
149
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, :rows => 999)
|
150
150
|
r.params[:rows].to_s.should == '999'
|
151
151
|
end
|
152
152
|
|
153
153
|
it 'should provide spelling suggestions for regular spellcheck results' do
|
154
154
|
raw_response = eval(mock_response_with_spellcheck)
|
155
|
-
r = Blacklight::
|
155
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, {})
|
156
156
|
r.spelling.words.should include("dell")
|
157
157
|
r.spelling.words.should include("ultrasharp")
|
158
158
|
end
|
159
159
|
|
160
160
|
it 'should provide spelling suggestions for extended spellcheck results' do
|
161
161
|
raw_response = eval(mock_response_with_spellcheck_extended)
|
162
|
-
r = Blacklight::
|
162
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, {})
|
163
163
|
r.spelling.words.should include("dell")
|
164
164
|
r.spelling.words.should include("ultrasharp")
|
165
165
|
end
|
166
166
|
|
167
167
|
it 'should provide no spelling suggestions when extended results and suggestion frequency is the same as original query frequency' do
|
168
168
|
raw_response = eval(mock_response_with_spellcheck_same_frequency)
|
169
|
-
r = Blacklight::
|
169
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, {})
|
170
170
|
r.spelling.words.should == []
|
171
171
|
end
|
172
172
|
|
173
173
|
it 'should provide spelling suggestions for a regular spellcheck results with a collation' do
|
174
174
|
raw_response = eval(mock_response_with_spellcheck_collation)
|
175
|
-
r = Blacklight::
|
175
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, {})
|
176
176
|
r.spelling.words.should include("dell")
|
177
177
|
r.spelling.words.should include("ultrasharp")
|
178
178
|
end
|
179
179
|
|
180
180
|
it 'should provide spelling suggestion collation' do
|
181
181
|
raw_response = eval(mock_response_with_spellcheck_collation)
|
182
|
-
r = Blacklight::
|
182
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, {})
|
183
183
|
r.spelling.collation.should == 'dell ultrasharp'
|
184
184
|
end
|
185
185
|
|
186
186
|
it "should provide MoreLikeThis suggestions" do
|
187
187
|
raw_response = eval(mock_response_with_more_like_this)
|
188
|
-
r = Blacklight::
|
188
|
+
r = Ansr::Blacklight::Solr::Response.new(raw_response, {})
|
189
189
|
r.more_like(double(:id => '79930185')).should have(2).items
|
190
190
|
end
|
191
191
|
|
192
192
|
it "should be empty when the response has no results" do
|
193
|
-
r = Blacklight::
|
193
|
+
r = Ansr::Blacklight::Solr::Response.new({}, {})
|
194
194
|
r.stub(:total => 0)
|
195
195
|
expect(r).to be_empty
|
196
196
|
end
|
@@ -106,7 +106,6 @@ describe Ansr::Blacklight::Relation do
|
|
106
106
|
let(:visitor) { @visitor }
|
107
107
|
|
108
108
|
it "should accept valid parameters" do
|
109
|
-
config = Blacklight::Configuration.new
|
110
109
|
query = visitor.accept subject.build_arel.ast
|
111
110
|
expect(query.path).to eq('outside')
|
112
111
|
expect(query.to_hash).to eq({"defType" => "had",
|
@@ -26,7 +26,7 @@ describe Ansr::Blacklight do
|
|
26
26
|
|
27
27
|
before do
|
28
28
|
Object.const_set('GroupModel', Class.new(TestModel))
|
29
|
-
GroupModel.solr = stub_solr(sample_response)
|
29
|
+
GroupModel.solr = stub_solr(sample_response.to_s)
|
30
30
|
GroupModel.configure do |config|
|
31
31
|
config[:table_class] = TestTable
|
32
32
|
end
|
@@ -37,11 +37,13 @@ describe Ansr::Blacklight do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
let(:response) do
|
40
|
-
|
40
|
+
rel = GroupModel.group("result_group_ssi")
|
41
|
+
rel.load
|
42
|
+
rel
|
41
43
|
end
|
42
44
|
|
43
45
|
let(:group) do
|
44
|
-
response.
|
46
|
+
response.group_by.first
|
45
47
|
end
|
46
48
|
|
47
49
|
subject do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ansr_blacklight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Armintor
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ansr
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.
|
19
|
+
version: 0.0.4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.0.
|
26
|
+
version: 0.0.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json-ld
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,6 +86,34 @@ dependencies:
|
|
86
86
|
- - <
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '5'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rsolr
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ~>
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 1.0.6
|
96
|
+
type: :runtime
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ~>
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 1.0.6
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: kaminari
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0.13'
|
110
|
+
type: :runtime
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ~>
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0.13'
|
89
117
|
- !ruby/object:Gem::Dependency
|
90
118
|
name: sass-rails
|
91
119
|
requirement: !ruby/object:Gem::Requirement
|