hydra-collections 4.0.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -0
  3. data/.travis.yml +0 -3
  4. data/Gemfile +6 -1
  5. data/app/controllers/concerns/hydra/collections/selects_collections.rb +30 -33
  6. data/app/controllers/concerns/hydra/collections_controller_behavior.rb +39 -17
  7. data/app/models/concerns/hydra/collection.rb +5 -76
  8. data/app/models/concerns/hydra/collections/actions.rb +22 -0
  9. data/app/models/concerns/hydra/collections/metadata.rb +62 -0
  10. data/app/models/concerns/hydra/collections/relations.rb +8 -0
  11. data/app/search_builders/hydra/collections/search_builder.rb +31 -0
  12. data/app/views/collections/_bookmark_control.html.erb +2 -0
  13. data/app/views/collections/_document_list.html.erb +1 -1
  14. data/app/views/collections/_index_default.html.erb +2 -0
  15. data/app/views/collections/_index_header_default.html.erb +2 -0
  16. data/app/views/collections/_paginate_compact.html.erb +1 -0
  17. data/app/views/collections/_results_pagination.html.erb +9 -0
  18. data/app/views/collections/_search_results.html.erb +23 -0
  19. data/app/views/collections/_thumbnail_default.html.erb +2 -0
  20. data/app/views/collections/index.html.erb +9 -0
  21. data/app/views/collections/show.html.erb +3 -3
  22. data/app/views/layouts/collections.html.erb +48 -0
  23. data/config/routes.rb +3 -3
  24. data/hydra-collections.gemspec +3 -2
  25. data/lib/hydra/collections/collectible.rb +1 -0
  26. data/lib/hydra/collections/search_service.rb +2 -2
  27. data/lib/hydra/collections/version.rb +1 -1
  28. data/spec/controllers/collections_controller_spec.rb +37 -51
  29. data/spec/controllers/other_collections_controller_spec.rb +25 -57
  30. data/spec/controllers/selects_collections_spec.rb +14 -30
  31. data/spec/helpers/collections_helper_spec.rb +5 -5
  32. data/spec/lib/collectible_spec.rb +1 -0
  33. data/spec/models/collection_spec.rb +7 -34
  34. data/spec/spec_helper.rb +7 -11
  35. data/spec/test_app_templates/Gemfile.extra +1 -0
  36. data/spec/test_app_templates/app/controllers/other_collections_controller.rb +8 -0
  37. data/spec/test_app_templates/app/views/catalog/_sort_and_per_page.html.erb +3 -8
  38. data/spec/test_app_templates/config/blacklight.yml +22 -0
  39. data/spec/test_app_templates/lib/generators/test_app_generator.rb +17 -9
  40. data/spec/views/collections/_thumbnail_default.html.erb_spec.rb +25 -0
  41. data/spec/views/collections/show.html.erb_spec.rb +32 -0
  42. 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.solr_search_params_logic += [:add_access_controls_to_solr_params]
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 override solr_search_params_logic to use collection_search_params_logic, then switch it back" do
17
- # Looks like we can only test this indirectly b/c blacklight doesn't let you explicitly pass solr_search_params_logic when running searches -- you have to set the controller's solr_search_params_logic class attribute
18
- original_solr_logic = subject.solr_search_params_logic
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
- expect(user_collections.map(&:id)).to match_array [@collection.id]
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
- expect(user_collections.count).to eq(12)
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
- let(:user_collections) do
73
+ it "should return only public and read access (edit access implies read) collections" do
82
74
  subject.find_collections_with_read_access
83
- subject.instance_variable_get(:@user_collections)
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
- let(:user_collections) do
90
+ it "should return only public or editable collections" do
103
91
  subject.find_collections_with_edit_access
104
- subject.instance_variable_get(:@user_collections)
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.children.first.children.first
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.children.first.children.first
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.children.first.children[1]
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.children.first.children[1]
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.children[2]
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
@@ -1,5 +1,10 @@
1
- require 'coveralls'
2
- Coveralls.wear!
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'
@@ -0,0 +1,8 @@
1
+ class OtherCollectionsController < ApplicationController
2
+ include Hydra::CollectionsControllerBehavior
3
+
4
+ def show
5
+ super
6
+ redirect_to root_path
7
+ end
8
+ end
@@ -1,13 +1,8 @@
1
1
  <div id="sortAndPerPage">
2
- <div class="page_links">
3
- <%= render :partial => "paginate_compact" %>
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
- "\n gem 'factory_girl_rails'"
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.0.0
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-01-30 00:00:00.000000000 Z
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.0.1
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.0.1
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.0
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.0
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.2.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