hydra-collections 4.0.0 → 5.0.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/.rspec +1 -0
- data/.travis.yml +0 -3
- data/Gemfile +6 -1
- data/app/controllers/concerns/hydra/collections/selects_collections.rb +30 -33
- data/app/controllers/concerns/hydra/collections_controller_behavior.rb +39 -17
- data/app/models/concerns/hydra/collection.rb +5 -76
- data/app/models/concerns/hydra/collections/actions.rb +22 -0
- data/app/models/concerns/hydra/collections/metadata.rb +62 -0
- data/app/models/concerns/hydra/collections/relations.rb +8 -0
- data/app/search_builders/hydra/collections/search_builder.rb +31 -0
- data/app/views/collections/_bookmark_control.html.erb +2 -0
- data/app/views/collections/_document_list.html.erb +1 -1
- data/app/views/collections/_index_default.html.erb +2 -0
- data/app/views/collections/_index_header_default.html.erb +2 -0
- data/app/views/collections/_paginate_compact.html.erb +1 -0
- data/app/views/collections/_results_pagination.html.erb +9 -0
- data/app/views/collections/_search_results.html.erb +23 -0
- data/app/views/collections/_thumbnail_default.html.erb +2 -0
- data/app/views/collections/index.html.erb +9 -0
- data/app/views/collections/show.html.erb +3 -3
- data/app/views/layouts/collections.html.erb +48 -0
- data/config/routes.rb +3 -3
- data/hydra-collections.gemspec +3 -2
- data/lib/hydra/collections/collectible.rb +1 -0
- data/lib/hydra/collections/search_service.rb +2 -2
- data/lib/hydra/collections/version.rb +1 -1
- data/spec/controllers/collections_controller_spec.rb +37 -51
- data/spec/controllers/other_collections_controller_spec.rb +25 -57
- data/spec/controllers/selects_collections_spec.rb +14 -30
- data/spec/helpers/collections_helper_spec.rb +5 -5
- data/spec/lib/collectible_spec.rb +1 -0
- data/spec/models/collection_spec.rb +7 -34
- data/spec/spec_helper.rb +7 -11
- data/spec/test_app_templates/Gemfile.extra +1 -0
- data/spec/test_app_templates/app/controllers/other_collections_controller.rb +8 -0
- data/spec/test_app_templates/app/views/catalog/_sort_and_per_page.html.erb +3 -8
- data/spec/test_app_templates/config/blacklight.yml +22 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +17 -9
- data/spec/views/collections/_thumbnail_default.html.erb_spec.rb +25 -0
- data/spec/views/collections/show.html.erb_spec.rb +32 -0
- metadata +44 -7
@@ -5,24 +5,19 @@ class SelectsCollectionsController < ApplicationController
|
|
5
5
|
include Hydra::Controller::ControllerBehavior
|
6
6
|
include Hydra::Collections::SelectsCollections
|
7
7
|
|
8
|
-
SelectsCollectionsController.
|
9
|
-
|
8
|
+
SelectsCollectionsController.search_params_logic += [:add_access_controls_to_solr_params]
|
10
9
|
end
|
11
10
|
|
12
|
-
|
13
11
|
describe SelectsCollectionsController, :type => :controller do
|
14
12
|
|
15
13
|
describe "#find_collections" do
|
16
|
-
it "should
|
17
|
-
|
18
|
-
|
19
|
-
expect(subject.collection_search_params_logic).to eq([:default_solr_parameters, :add_query_to_solr, :add_access_controls_to_solr_params, :add_collection_filter])
|
20
|
-
expect(subject.class).to receive(:solr_search_params_logic=).with(subject.collection_search_params_logic)
|
21
|
-
expect(subject.class).to receive(:solr_search_params_logic=).with(original_solr_logic)
|
14
|
+
it "should use collection_search_params_logic" do
|
15
|
+
expect(subject.collection_search_params_logic).to eq([:default_solr_parameters, :add_query_to_solr, :add_access_controls_to_solr_params, :add_collection_filter, :some_rows])
|
16
|
+
expect(Hydra::Collections::SearchBuilder).to receive(:new).with(subject.collection_search_params_logic, subject).and_call_original
|
22
17
|
subject.find_collections
|
23
18
|
end
|
24
19
|
end
|
25
|
-
|
20
|
+
|
26
21
|
describe "Select Collections" do
|
27
22
|
before do
|
28
23
|
@user = FactoryGirl.find_or_create(:user)
|
@@ -37,20 +32,16 @@ describe SelectsCollectionsController, :type => :controller do
|
|
37
32
|
@collection3 = Collection.new title:"Test Edit"
|
38
33
|
@collection3.apply_depositor_metadata('abc123@test.com')
|
39
34
|
@collection3.edit_users = [@user.user_key]
|
40
|
-
@collection3.save
|
35
|
+
@collection3.save
|
41
36
|
@collection4 = Collection.new title:"Test No Access"
|
42
37
|
@collection4.apply_depositor_metadata('abc123@test.com')
|
43
38
|
@collection4.save
|
44
39
|
end
|
45
40
|
|
46
41
|
describe "Public Access" do
|
47
|
-
let(:user_collections) do
|
48
|
-
subject.find_collections
|
49
|
-
subject.instance_variable_get(:@user_collections)
|
50
|
-
end
|
51
|
-
|
52
42
|
it "should only return public collections" do
|
53
|
-
|
43
|
+
subject.find_collections
|
44
|
+
expect(assigns[:user_collections].map(&:id)).to match_array [@collection.id]
|
54
45
|
end
|
55
46
|
|
56
47
|
context "when there are more than 10" do
|
@@ -64,7 +55,8 @@ describe SelectsCollectionsController, :type => :controller do
|
|
64
55
|
end
|
65
56
|
end
|
66
57
|
it "should return all public collections" do
|
67
|
-
|
58
|
+
subject.find_collections
|
59
|
+
expect(assigns[:user_collections].count).to eq(12)
|
68
60
|
end
|
69
61
|
end
|
70
62
|
end
|
@@ -78,14 +70,10 @@ describe SelectsCollectionsController, :type => :controller do
|
|
78
70
|
describe "signed in" do
|
79
71
|
before { sign_in @user }
|
80
72
|
|
81
|
-
|
73
|
+
it "should return only public and read access (edit access implies read) collections" do
|
82
74
|
subject.find_collections_with_read_access
|
83
|
-
|
75
|
+
expect(assigns[:user_collections].map(&:id)).to match_array [@collection.id, @collection2.id, @collection3.id]
|
84
76
|
end
|
85
|
-
|
86
|
-
it "should return only public and read access (edit access implies read) collections" do
|
87
|
-
expect(user_collections.map(&:id)).to match_array [@collection.id, @collection2.id, @collection3.id]
|
88
|
-
end
|
89
77
|
end
|
90
78
|
end
|
91
79
|
|
@@ -99,14 +87,10 @@ describe SelectsCollectionsController, :type => :controller do
|
|
99
87
|
describe "signed in" do
|
100
88
|
before { sign_in @user }
|
101
89
|
|
102
|
-
|
90
|
+
it "should return only public or editable collections" do
|
103
91
|
subject.find_collections_with_edit_access
|
104
|
-
|
92
|
+
expect(assigns[:user_collections].map(&:id)).to match_array [@collection.id, @collection3.id]
|
105
93
|
end
|
106
|
-
|
107
|
-
it "should return only public or editable collections" do
|
108
|
-
expect(user_collections.map(&:id)).to match_array [@collection.id, @collection3.id]
|
109
|
-
end
|
110
94
|
end
|
111
95
|
end
|
112
96
|
end
|
@@ -9,7 +9,7 @@ describe CollectionsHelper, :type => :helper do
|
|
9
9
|
doc = Nokogiri::HTML(str)
|
10
10
|
form = doc.xpath('//form').first
|
11
11
|
expect(form.attr('action')).to eq("#{collections.new_collection_path}")
|
12
|
-
i = form.
|
12
|
+
i = form.xpath('.//input').first
|
13
13
|
expect(i.attr('type')).to eq('submit')
|
14
14
|
end
|
15
15
|
it "should create a button with my text" do
|
@@ -17,7 +17,7 @@ describe CollectionsHelper, :type => :helper do
|
|
17
17
|
doc = Nokogiri::HTML(str)
|
18
18
|
form = doc.xpath('//form').first
|
19
19
|
expect(form.attr('action')).to eq("#{collections.new_collection_path}")
|
20
|
-
i = form.
|
20
|
+
i = form.xpath('.//input').first
|
21
21
|
expect(i.attr('value')).to eq('Create My Button')
|
22
22
|
end
|
23
23
|
end
|
@@ -31,7 +31,7 @@ describe CollectionsHelper, :type => :helper do
|
|
31
31
|
doc = Nokogiri::HTML(str)
|
32
32
|
form = doc.xpath('//form').first
|
33
33
|
expect(form.attr('action')).to eq collections.collection_path(@collection)
|
34
|
-
i = form.
|
34
|
+
i = form.xpath('.//input')[1]
|
35
35
|
expect(i.attr('type')).to eq('submit')
|
36
36
|
end
|
37
37
|
it "should create a button with my text" do
|
@@ -39,7 +39,7 @@ describe CollectionsHelper, :type => :helper do
|
|
39
39
|
doc = Nokogiri::HTML(str)
|
40
40
|
form = doc.xpath('//form').first
|
41
41
|
expect(form.attr('action')).to eq collections.collection_path(@collection)
|
42
|
-
i = form.
|
42
|
+
i = form.xpath('.//input')[1]
|
43
43
|
expect(i.attr('value')).to eq("Delete My Button")
|
44
44
|
end
|
45
45
|
end
|
@@ -93,7 +93,7 @@ describe CollectionsHelper, :type => :helper do
|
|
93
93
|
doc = Nokogiri::HTML(str)
|
94
94
|
form = doc.xpath('//form').first
|
95
95
|
expect(form.attr('action')).to eq collections.collection_path(@collection)
|
96
|
-
i = form.
|
96
|
+
i = form.xpath('.//input')[2]
|
97
97
|
expect(i.attr('value')).to eq("remove")
|
98
98
|
expect(i.attr('name')).to eq("collection[members]")
|
99
99
|
end
|
@@ -25,6 +25,7 @@ describe Hydra::Collections::Collectible do
|
|
25
25
|
@collectible.save
|
26
26
|
@collectible.collections << @collection1
|
27
27
|
@collectible.collections << @collection2
|
28
|
+
expect(Deprecation).to receive(:warn)
|
28
29
|
expect(@collectible.index_collection_ids["collection_sim"]).to eq [@collection1.id, @collection2.id]
|
29
30
|
end
|
30
31
|
end
|
@@ -5,13 +5,6 @@ describe Collection, :type => :model do
|
|
5
5
|
@user = FactoryGirl.find_or_create(:user)
|
6
6
|
class GenericFile < ActiveFedora::Base
|
7
7
|
include Hydra::Collections::Collectible
|
8
|
-
|
9
|
-
def to_solr(solr_doc={}, opts={})
|
10
|
-
super(solr_doc, opts).tap do |solr_doc|
|
11
|
-
solr_doc = index_collection_ids(solr_doc)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
8
|
end
|
16
9
|
end
|
17
10
|
after(:all) do
|
@@ -34,6 +27,13 @@ describe Collection, :type => :model do
|
|
34
27
|
expect(subject['depositor_tesim']).to eq [user.user_key]
|
35
28
|
expect(subject['depositor_ssim']).to eq [user.user_key]
|
36
29
|
end
|
30
|
+
|
31
|
+
context "with members" do
|
32
|
+
before do
|
33
|
+
collection.members << gf1
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
37
|
end
|
38
38
|
|
39
39
|
describe "#depositor" do
|
@@ -99,40 +99,13 @@ describe Collection, :type => :model do
|
|
99
99
|
it "should allow files to be removed" do
|
100
100
|
expect(gf1.collections).to eq [subject] # This line forces the "collections" to be cached.
|
101
101
|
# We need to ensure that deleting causes the collection to be flushed.
|
102
|
-
solr_doc_before_remove = ActiveFedora::SolrInstanceLoader.new(ActiveFedora::Base, gf1.id).send(:solr_doc)
|
103
|
-
expect(solr_doc_before_remove["collection_tesim"]).to eq [subject.id]
|
104
102
|
subject.reload.members.delete(gf1)
|
105
103
|
subject.save
|
106
104
|
expect(subject.reload.members).to eq [gf2]
|
107
|
-
solr_doc_after_remove = ActiveFedora::SolrInstanceLoader.new(ActiveFedora::Base, gf1.id).send(:solr_doc)
|
108
|
-
expect(solr_doc_after_remove["collection_tesim"]).to be_nil
|
109
105
|
end
|
110
106
|
end
|
111
107
|
end
|
112
108
|
|
113
|
-
it "should set the date uploaded on create" do
|
114
|
-
subject.save
|
115
|
-
expect(subject.date_uploaded).to be_kind_of(Date)
|
116
|
-
end
|
117
|
-
|
118
|
-
describe "when updating" do
|
119
|
-
let(:gf1) { GenericFile.create }
|
120
|
-
|
121
|
-
it "should update the date modified on update" do
|
122
|
-
uploaded_date = Date.today
|
123
|
-
modified_date = Date.tomorrow
|
124
|
-
subject.save
|
125
|
-
allow(Date).to receive(:today).and_return(uploaded_date, modified_date)
|
126
|
-
subject.save
|
127
|
-
expect(subject.date_modified).to eq uploaded_date
|
128
|
-
subject.members = [gf1]
|
129
|
-
subject.save
|
130
|
-
expect(subject.date_modified).to eq modified_date
|
131
|
-
expect(gf1.reload.collections).to include(subject)
|
132
|
-
expect(gf1.to_solr[Solrizer.solr_name(:collection)]).to eq [subject.id]
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
109
|
it "should have a title" do
|
137
110
|
subject.title = "title"
|
138
111
|
subject.save
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
if ENV['CI']
|
2
|
+
require 'coveralls'
|
3
|
+
Coveralls.wear!
|
4
|
+
else
|
5
|
+
require 'byebug'
|
6
|
+
end
|
7
|
+
|
3
8
|
|
4
9
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
5
10
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
@@ -17,20 +22,11 @@ FactoryGirl.find_definitions
|
|
17
22
|
# HttpLogger.ignore = [/localhost:8983\/solr/]
|
18
23
|
# HttpLogger.colorize = false
|
19
24
|
|
20
|
-
module EngineRoutes
|
21
|
-
def self.included(base)
|
22
|
-
base.routes { Hydra::Collections::Engine.routes }
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
25
|
require 'active_fedora/cleaner'
|
27
26
|
RSpec.configure do |config|
|
28
27
|
config.use_transactional_fixtures = true
|
29
28
|
config.include Devise::TestHelpers, :type => :controller
|
30
|
-
config.before(:each, type: "controller") { @routes = Hydra::Collections::Engine.routes }
|
31
|
-
config.include EngineRoutes, :type => :controller
|
32
29
|
config.infer_spec_type_from_file_location!
|
33
|
-
# Stub out test stuff.
|
34
30
|
config.before(:each) do
|
35
31
|
ActiveFedora::Cleaner.clean!
|
36
32
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype'
|
@@ -1,13 +1,8 @@
|
|
1
1
|
<div id="sortAndPerPage">
|
2
|
-
|
3
|
-
|
4
|
-
</div>
|
5
|
-
<%= render :partial => 'sort_widget' %>
|
6
|
-
|
7
|
-
<%= render :partial => 'per_page_widget' %>
|
8
|
-
|
2
|
+
<div id="sortAndPerPage" class="clearfix">
|
3
|
+
<%= render "paginate_compact", object: @response if show_pagination? %>
|
9
4
|
<%= button_for_create_collection %>
|
10
|
-
|
11
5
|
<%= render partial: 'collections/form_for_select_collection', locals: {user_collections: @user_collections} %>
|
6
|
+
</div>
|
12
7
|
|
13
8
|
</div>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# = jetty_path key
|
2
|
+
# each environment can have a jetty_path with absolute or relative
|
3
|
+
# (to app root) path to a jetty/solr install. This is used
|
4
|
+
# by the rake tasks that start up solr automatically for testing
|
5
|
+
# and by rake solr:marc:index.
|
6
|
+
#
|
7
|
+
# jetty_path is not used by a running Blacklight application
|
8
|
+
# at all. In general you do NOT need to deploy solr in Jetty, you can deploy it
|
9
|
+
# however you want.
|
10
|
+
# jetty_path is only required for rake tasks that need to know
|
11
|
+
# how to start up solr, generally for automated testing.
|
12
|
+
|
13
|
+
development:
|
14
|
+
adapter: solr
|
15
|
+
url: http://localhost:8983/solr/development
|
16
|
+
test: &test
|
17
|
+
adapter: solr
|
18
|
+
url: <%= "http://127.0.0.1:#{ENV['TEST_JETTY_PORT'] || 8983}/solr/test" %>
|
19
|
+
production:
|
20
|
+
adapter: solr
|
21
|
+
url: <%= ENV['SOLR_URL'] || "http://127.0.0.1:8983/solr/blacklight-core" %>
|
22
|
+
|
@@ -5,23 +5,22 @@ class TestAppGenerator < Rails::Generators::Base
|
|
5
5
|
|
6
6
|
def update_gemfile
|
7
7
|
append_to_file "Gemfile" do
|
8
|
-
"\
|
8
|
+
"\ngem 'factory_girl_rails'"
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
12
|
def run_blacklight_generator
|
14
|
-
say_status("warning", "GENERATING BL", :yellow)
|
13
|
+
say_status("warning", "GENERATING BL", :yellow)
|
15
14
|
|
16
15
|
generate "blacklight:install", '--devise'
|
17
16
|
end
|
18
17
|
|
19
18
|
def run_hydra_head_generator
|
20
|
-
say_status("warning", "GENERATING HH", :yellow)
|
19
|
+
say_status("warning", "GENERATING HH", :yellow)
|
21
20
|
|
22
21
|
generate 'hydra:head', '-f'
|
23
22
|
end
|
24
|
-
|
23
|
+
|
25
24
|
def run_migrations
|
26
25
|
rake("db:migrate")
|
27
26
|
end
|
@@ -29,8 +28,9 @@ class TestAppGenerator < Rails::Generators::Base
|
|
29
28
|
# Inject call to Hydra::Collections.add_routes in config/routes.rb
|
30
29
|
def inject_routes
|
31
30
|
insert_into_file "config/routes.rb", :after => '.draw do' do
|
32
|
-
"\n # Add Collections routes."
|
33
|
-
"\n mount Hydra::Collections::Engine => '/'"
|
31
|
+
"\n # Add Collections routes." +
|
32
|
+
"\n mount Hydra::Collections::Engine => '/'" +
|
33
|
+
"\n resources :other_collections, except: :index"
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -42,11 +42,19 @@ class TestAppGenerator < Rails::Generators::Base
|
|
42
42
|
remove_file("public/index.html")
|
43
43
|
remove_file("test/factories/users.rb")
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
def copy_view_overrides
|
47
47
|
directory("app/views/catalog")
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
|
+
def copy_test_controller
|
51
|
+
copy_file "app/controllers/other_collections_controller.rb"
|
52
|
+
end
|
53
|
+
|
54
|
+
def overwrite_blacklight_config
|
55
|
+
copy_file 'config/blacklight.yml', force: true
|
56
|
+
end
|
57
|
+
|
50
58
|
# Inject javascript into application.js
|
51
59
|
def inject_javascript
|
52
60
|
insert_into_file "app/assets/javascripts/application.js", :after => '//= require_tree .' do
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'collections/_thumbnail_default.html.erb' do
|
4
|
+
let(:document) { SolrDocument.new :id => 'xyz', :format => 'a', :thumbnail_url => 'http://localhost/logo.png' }
|
5
|
+
let :blacklight_config do
|
6
|
+
Blacklight::Configuration.new do |config|
|
7
|
+
config.index.thumbnail_field = :thumbnail_url
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
before do
|
12
|
+
assign :response, double(:params => {})
|
13
|
+
allow(view).to receive(:blacklight_config).and_return(blacklight_config)
|
14
|
+
allow(view).to receive(:render_grouped_response?).and_return(false)
|
15
|
+
allow(view).to receive(:current_search_session).and_return nil
|
16
|
+
allow(view).to receive(:search_session).and_return({})
|
17
|
+
allow(view).to receive(:url_for_document).and_return('/foo')
|
18
|
+
allow(view).to receive(:session_tracking_params).and_return({})
|
19
|
+
render 'collections/thumbnail_default', document: document, document_counter: 1
|
20
|
+
end
|
21
|
+
|
22
|
+
it "renders a thumbnail" do
|
23
|
+
expect(rendered).to have_selector 'div.document-thumbnail a img[src="http://localhost/logo.png"]'
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'collections/show.html.erb' do
|
4
|
+
let(:response) { Blacklight::SolrResponse.new(sample_response, {}) }
|
5
|
+
let(:collection) { mock_model(Collection, id: '123', title: "My Collection", description: "Just a collection") }
|
6
|
+
|
7
|
+
let(:blacklight_config) { CatalogController.blacklight_config }
|
8
|
+
let(:member_docs) { [ SolrDocument.new(id: '234'), SolrDocument.new(id: '456') ] }
|
9
|
+
before do
|
10
|
+
allow(view).to receive(:blacklight_config).and_return(blacklight_config)
|
11
|
+
allow(view).to receive(:search_session).and_return({})
|
12
|
+
allow(view).to receive(:current_search_session).and_return nil
|
13
|
+
allow(view).to receive(:render_index_doc_actions).and_return nil
|
14
|
+
view.lookup_context.prefixes += ['catalog']
|
15
|
+
assign(:response, response)
|
16
|
+
assign(:collection, collection)
|
17
|
+
assign(:member_docs, member_docs)
|
18
|
+
stub_template 'catalog/_index_header_default.html.erb' => 'Document Title'
|
19
|
+
render
|
20
|
+
end
|
21
|
+
|
22
|
+
it "draws the page" do
|
23
|
+
expect(rendered).to have_content "My Collection"
|
24
|
+
end
|
25
|
+
|
26
|
+
let(:sample_response) do
|
27
|
+
{"responseHeader" => {"params" =>{"rows" => 3}},
|
28
|
+
"docs" =>[]
|
29
|
+
}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-collections
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carolyn Cole
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hydra-head
|
@@ -16,28 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 9.
|
19
|
+
version: '9.1'
|
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: 9.
|
26
|
+
version: '9.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: deprecation
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1
|
33
|
+
version: '0.1'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1
|
40
|
+
version: '0.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: blacklight
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.10'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.10'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: engine_cart
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,10 +108,15 @@ files:
|
|
94
108
|
- app/helpers/collections_search_helper.rb
|
95
109
|
- app/models/collection.rb
|
96
110
|
- app/models/concerns/hydra/collection.rb
|
111
|
+
- app/models/concerns/hydra/collections/actions.rb
|
112
|
+
- app/models/concerns/hydra/collections/metadata.rb
|
113
|
+
- app/models/concerns/hydra/collections/relations.rb
|
97
114
|
- app/models/solr_document.rb
|
115
|
+
- app/search_builders/hydra/collections/search_builder.rb
|
98
116
|
- app/views/batch_select/_add_button.html.erb
|
99
117
|
- app/views/batch_select/_check_all.html.erb
|
100
118
|
- app/views/batch_select/_tools.html.erb
|
119
|
+
- app/views/collections/_bookmark_control.html.erb
|
101
120
|
- app/views/collections/_button_create_collection.html.erb
|
102
121
|
- app/views/collections/_button_for_delete_collection.html.erb
|
103
122
|
- app/views/collections/_button_for_remove_selected_from_collection.html.erb
|
@@ -108,11 +127,19 @@ files:
|
|
108
127
|
- app/views/collections/_form.html.erb
|
109
128
|
- app/views/collections/_form_for_select_collection.html.erb
|
110
129
|
- app/views/collections/_form_for_select_destination_collection.html.erb
|
130
|
+
- app/views/collections/_index_default.html.erb
|
131
|
+
- app/views/collections/_index_header_default.html.erb
|
132
|
+
- app/views/collections/_paginate_compact.html.erb
|
133
|
+
- app/views/collections/_results_pagination.html.erb
|
111
134
|
- app/views/collections/_search_form.html.erb
|
135
|
+
- app/views/collections/_search_results.html.erb
|
112
136
|
- app/views/collections/_single_item_action_fields.html.erb
|
137
|
+
- app/views/collections/_thumbnail_default.html.erb
|
113
138
|
- app/views/collections/edit.html.erb
|
139
|
+
- app/views/collections/index.html.erb
|
114
140
|
- app/views/collections/new.html.erb
|
115
141
|
- app/views/collections/show.html.erb
|
142
|
+
- app/views/layouts/collections.html.erb
|
116
143
|
- config/jetty.yml
|
117
144
|
- config/routes.rb
|
118
145
|
- fedora_conf/conf/development/fedora.fcfg
|
@@ -142,14 +169,19 @@ files:
|
|
142
169
|
- spec/lib/search_service_spec.rb
|
143
170
|
- spec/models/collection_spec.rb
|
144
171
|
- spec/spec_helper.rb
|
172
|
+
- spec/test_app_templates/Gemfile.extra
|
173
|
+
- spec/test_app_templates/app/controllers/other_collections_controller.rb
|
145
174
|
- spec/test_app_templates/app/models/sample.rb
|
146
175
|
- spec/test_app_templates/app/models/solr_document.rb
|
147
176
|
- spec/test_app_templates/app/views/catalog/_document_header.html.erb
|
148
177
|
- spec/test_app_templates/app/views/catalog/_index_collection.html.erb
|
149
178
|
- spec/test_app_templates/app/views/catalog/_sort_and_per_page.html.erb
|
179
|
+
- spec/test_app_templates/config/blacklight.yml
|
150
180
|
- spec/test_app_templates/db/migrate/20111101221803_create_searches.rb
|
151
181
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
152
182
|
- spec/test_app_templates/lib/tasks/rspec.rake
|
183
|
+
- spec/views/collections/_thumbnail_default.html.erb_spec.rb
|
184
|
+
- spec/views/collections/show.html.erb_spec.rb
|
153
185
|
- tasks/hydra-collections-dev.rake
|
154
186
|
- tasks/jetty.rake
|
155
187
|
homepage: https://github.com/projecthydra-labs/hydra-collections
|
@@ -172,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
204
|
version: '0'
|
173
205
|
requirements: []
|
174
206
|
rubyforge_project:
|
175
|
-
rubygems_version: 2.
|
207
|
+
rubygems_version: 2.4.5
|
176
208
|
signing_key:
|
177
209
|
specification_version: 4
|
178
210
|
summary: A rails engine for managing Hydra Collections
|
@@ -190,11 +222,16 @@ test_files:
|
|
190
222
|
- spec/lib/search_service_spec.rb
|
191
223
|
- spec/models/collection_spec.rb
|
192
224
|
- spec/spec_helper.rb
|
225
|
+
- spec/test_app_templates/Gemfile.extra
|
226
|
+
- spec/test_app_templates/app/controllers/other_collections_controller.rb
|
193
227
|
- spec/test_app_templates/app/models/sample.rb
|
194
228
|
- spec/test_app_templates/app/models/solr_document.rb
|
195
229
|
- spec/test_app_templates/app/views/catalog/_document_header.html.erb
|
196
230
|
- spec/test_app_templates/app/views/catalog/_index_collection.html.erb
|
197
231
|
- spec/test_app_templates/app/views/catalog/_sort_and_per_page.html.erb
|
232
|
+
- spec/test_app_templates/config/blacklight.yml
|
198
233
|
- spec/test_app_templates/db/migrate/20111101221803_create_searches.rb
|
199
234
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
200
235
|
- spec/test_app_templates/lib/tasks/rspec.rake
|
236
|
+
- spec/views/collections/_thumbnail_default.html.erb_spec.rb
|
237
|
+
- spec/views/collections/show.html.erb_spec.rb
|