hydra-core 8.0.0 → 8.1.0
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 +4 -4
- data/app/controllers/concerns/hydra/controller/controller_behavior.rb +5 -4
- data/app/search_builders/hydra/search_builder.rb +5 -0
- data/lib/generators/hydra/head_generator.rb +2 -0
- data/lib/generators/hydra/templates/catalog_controller.rb +2 -1
- data/lib/generators/hydra/templates/config/blacklight.yml +9 -0
- data/lib/hydra-head/version.rb +1 -1
- data/spec/controllers/catalog_controller_spec.rb +8 -6
- data/spec/search_builders/search_builder_spec.rb +22 -0
- metadata +8 -6
- data/spec/lib/catalog_spec.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 524755f49fc5894eebc57fe4478a9eda2837d677
|
4
|
+
data.tar.gz: cb181741d88d6800382ea2266325246e7fcfaff1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1605b6bc8c2ed8fa7ee0db8d6e3b37d509625225b6b425b89f2ef1ecd048f6b8c4e730bc27202814525743de6d899eccc0ebd56cded63751a8cbed4524b9a702
|
7
|
+
data.tar.gz: dfaa1e040c60b9833df5c3313800f3731ca738466589bc8d6190880873ec17f50c974e81e0211a6cc2d8c3a7f9119ae6889bd7590348423daa17a19d11892d22
|
@@ -12,9 +12,6 @@ module Hydra::Controller::ControllerBehavior
|
|
12
12
|
extend ActiveSupport::Concern
|
13
13
|
|
14
14
|
included do
|
15
|
-
# Other modules to auto-include
|
16
|
-
include Hydra::AccessControlsEnforcement
|
17
|
-
|
18
15
|
# Catch permission errors
|
19
16
|
rescue_from CanCan::AccessDenied do |exception|
|
20
17
|
if (exception.action == :edit)
|
@@ -27,7 +24,11 @@ module Hydra::Controller::ControllerBehavior
|
|
27
24
|
end
|
28
25
|
end
|
29
26
|
end
|
30
|
-
|
27
|
+
|
28
|
+
# Override blacklight to produce a search_builder that has the current collection in context
|
29
|
+
def search_builder processor_chain = search_params_logic
|
30
|
+
super.tap { |builder| builder.current_ability = current_ability }
|
31
|
+
end
|
31
32
|
|
32
33
|
# get the currently configured user identifier. Can be overridden to return whatever (ie. login, email, etc)
|
33
34
|
# defaults to using whatever you have set as the Devise authentication_key
|
@@ -8,10 +8,11 @@ class CatalogController < ApplicationController
|
|
8
8
|
# These before_filters apply the hydra access controls
|
9
9
|
before_filter :enforce_show_permissions, :only=>:show
|
10
10
|
# This applies appropriate access controls to all solr queries
|
11
|
-
CatalogController.
|
11
|
+
CatalogController.search_params_logic += [:add_access_controls_to_solr_params]
|
12
12
|
|
13
13
|
|
14
14
|
configure_blacklight do |config|
|
15
|
+
config.search_builder_class = Hydra::SearchBuilder
|
15
16
|
config.default_solr_params = {
|
16
17
|
:qt => 'search',
|
17
18
|
:rows => 10
|
@@ -0,0 +1,9 @@
|
|
1
|
+
development:
|
2
|
+
adapter: solr
|
3
|
+
url: <%= ENV['SOLR_URL'] || "http://127.0.0.1:8983/solr/development" %>
|
4
|
+
test: &test
|
5
|
+
adapter: solr
|
6
|
+
url: <%= "http://127.0.0.1:#{ENV['TEST_JETTY_PORT'] || 8983}/solr/test" %>
|
7
|
+
production:
|
8
|
+
adapter: solr
|
9
|
+
url: <%= ENV['SOLR_URL'] || "http://127.0.0.1:8983/solr/blacklight-core" %>
|
data/lib/hydra-head/version.rb
CHANGED
@@ -10,6 +10,14 @@ describe CatalogController do
|
|
10
10
|
expect(controller).to be_an_instance_of CatalogController
|
11
11
|
end
|
12
12
|
|
13
|
+
describe "configuration" do
|
14
|
+
let(:config) { CatalogController.blacklight_config }
|
15
|
+
describe "search_builder_class" do
|
16
|
+
subject {config.search_builder_class }
|
17
|
+
it { is_expected.to eq Hydra::SearchBuilder }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
13
21
|
describe "Paths Generated by Custom Routes:" do
|
14
22
|
# paths generated by custom routes
|
15
23
|
it "should map {:controller=>'catalog', :action=>'index'} to GET /catalog" do
|
@@ -48,12 +56,6 @@ describe CatalogController do
|
|
48
56
|
end
|
49
57
|
|
50
58
|
describe "filters" do
|
51
|
-
describe "index" do
|
52
|
-
it "should trigger enforce_index_permissions" do
|
53
|
-
expect(controller).to receive(:add_access_controls_to_solr_params)
|
54
|
-
get :index
|
55
|
-
end
|
56
|
-
end
|
57
59
|
describe "show" do
|
58
60
|
it "should trigger enforce_show_permissions" do
|
59
61
|
allow(controller).to receive(:current_user).and_return(nil)
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Hydra::SearchBuilder do
|
4
|
+
let(:processor_chain) { [:add_access_controls_to_solr_params] }
|
5
|
+
let(:context) { double('context') }
|
6
|
+
let(:user) { double('user', user_key: 'joe') }
|
7
|
+
let(:current_ability) { double('ability', user_groups: [], current_user: user) }
|
8
|
+
|
9
|
+
subject { described_class.new(processor_chain, context) }
|
10
|
+
before { subject.current_ability = current_ability }
|
11
|
+
|
12
|
+
it "should extend classes with the necessary Hydra modules" do
|
13
|
+
expect(Hydra::SearchBuilder.included_modules).to include(Hydra::AccessControlsEnforcement)
|
14
|
+
end
|
15
|
+
|
16
|
+
context "when a query is generated" do
|
17
|
+
it "should triggers add_access_controls_to_solr_params" do
|
18
|
+
expect(subject).to receive(:add_access_controls_to_solr_params)
|
19
|
+
subject.query
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Zumwalt, Bess Sadler, Julie Meloni, Naomi Dushay, Jessie Keck, John Scofield,
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-03-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - '='
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 8.
|
48
|
+
version: 8.1.0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - '='
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 8.
|
55
|
+
version: 8.1.0
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: jettywrapper
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,6 +144,7 @@ files:
|
|
144
144
|
- app/models/concerns/hydra/solr.rb
|
145
145
|
- app/models/hydra/datastream/properties.rb
|
146
146
|
- app/models/mods_asset.rb
|
147
|
+
- app/search_builders/hydra/search_builder.rb
|
147
148
|
- config/jetty.yml
|
148
149
|
- config/locales/hydra.en.yml
|
149
150
|
- hydra-core.gemspec
|
@@ -153,6 +154,7 @@ files:
|
|
153
154
|
- lib/generators/hydra/jetty_generator.rb
|
154
155
|
- lib/generators/hydra/templates/ability.rb
|
155
156
|
- lib/generators/hydra/templates/catalog_controller.rb
|
157
|
+
- lib/generators/hydra/templates/config/blacklight.yml
|
156
158
|
- lib/generators/hydra/templates/config/initializers/hydra_config.rb
|
157
159
|
- lib/generators/hydra/templates/config/role_map.yml
|
158
160
|
- lib/hydra-core.rb
|
@@ -166,12 +168,12 @@ files:
|
|
166
168
|
- spec/controllers/downloads_controller_spec.rb
|
167
169
|
- spec/factories.rb
|
168
170
|
- spec/helpers/blacklight_helper_spec.rb
|
169
|
-
- spec/lib/catalog_spec.rb
|
170
171
|
- spec/lib/model_methods_spec.rb
|
171
172
|
- spec/models/mods_asset_spec.rb
|
172
173
|
- spec/models/solr_document_spec.rb
|
173
174
|
- spec/models/user_spec.rb
|
174
175
|
- spec/rcov.opts
|
176
|
+
- spec/search_builders/search_builder_spec.rb
|
175
177
|
- spec/spec.opts
|
176
178
|
- spec/spec_helper.rb
|
177
179
|
- spec/support/app/controllers/downloads_controller.rb
|
@@ -221,12 +223,12 @@ test_files:
|
|
221
223
|
- spec/controllers/downloads_controller_spec.rb
|
222
224
|
- spec/factories.rb
|
223
225
|
- spec/helpers/blacklight_helper_spec.rb
|
224
|
-
- spec/lib/catalog_spec.rb
|
225
226
|
- spec/lib/model_methods_spec.rb
|
226
227
|
- spec/models/mods_asset_spec.rb
|
227
228
|
- spec/models/solr_document_spec.rb
|
228
229
|
- spec/models/user_spec.rb
|
229
230
|
- spec/rcov.opts
|
231
|
+
- spec/search_builders/search_builder_spec.rb
|
230
232
|
- spec/spec.opts
|
231
233
|
- spec/spec_helper.rb
|
232
234
|
- spec/support/app/controllers/downloads_controller.rb
|
data/spec/lib/catalog_spec.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Hydra::Controller::ControllerBehavior do
|
4
|
-
|
5
|
-
before do
|
6
|
-
class CatalogTest < ApplicationController
|
7
|
-
include Hydra::Controller::ControllerBehavior
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should extend classes with the necessary Hydra modules" do
|
12
|
-
expect(CatalogTest.included_modules).to include(Hydra::AccessControlsEnforcement)
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|