sufia 3.6.0 → 3.7.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -4
  3. data/Gemfile +0 -3
  4. data/History.md +29 -0
  5. data/README.md +2 -4
  6. data/SUFIA_VERSION +1 -1
  7. data/app/assets/javascripts/sufia/audio.js +28 -0
  8. data/app/assets/javascripts/sufia/single_use_link.js +35 -0
  9. data/app/assets/javascripts/sufia.js +2 -20
  10. data/app/assets/stylesheets/sufia-audio-overrides.css +9 -0
  11. data/app/assets/stylesheets/sufia.css.scss +1 -1
  12. data/app/assets/stylesheets/video-js.css +700 -433
  13. data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +0 -12
  14. data/app/controllers/concerns/sufia/users_controller_behavior.rb +12 -18
  15. data/app/controllers/dashboard_controller.rb +1 -2
  16. data/app/helpers/sufia_helper.rb +6 -5
  17. data/app/helpers/trophy_helper.rb +1 -1
  18. data/app/views/catalog/_index_partials/_default_group.html.erb +1 -2
  19. data/app/views/catalog/_results_pagination.html.erb +3 -3
  20. data/app/views/catalog/index.html.erb +0 -3
  21. data/app/views/dashboard/_index_partials/_thumbnail_display.html.erb +2 -2
  22. data/app/views/dashboard/_results_pagination.html.erb +5 -21
  23. data/app/views/dashboard/facet.html.erb +1 -1
  24. data/app/views/dashboard/index.html.erb +5 -35
  25. data/app/views/generic_files/_media_display.html.erb +4 -4
  26. data/app/views/layouts/sufia-two-column.html.erb +0 -16
  27. data/app/views/users/_contributions.html.erb +20 -28
  28. data/app/views/users/_profile_actions.html.erb +8 -9
  29. data/app/views/users/edit.html.erb +3 -6
  30. data/config/routes.rb +7 -8
  31. data/lib/sufia/version.rb +1 -1
  32. data/spec/controllers/users_controller_spec.rb +56 -20
  33. data/spec/features/browse_files_spec.rb +14 -12
  34. data/spec/helpers/sufia_helper_spec.rb +21 -0
  35. data/spec/models/generic_file_spec.rb +24 -66
  36. data/spec/models/user_spec.rb +16 -4
  37. data/sufia-models/app/models/checksum_audit_log.rb +0 -1
  38. data/sufia-models/app/models/concerns/sufia/user.rb +11 -21
  39. data/sufia-models/app/models/domain_term.rb +1 -6
  40. data/sufia-models/app/models/local_authority.rb +2 -10
  41. data/sufia-models/app/models/local_authority_entry.rb +0 -1
  42. data/sufia-models/app/models/single_use_link.rb +1 -3
  43. data/sufia-models/app/models/sufia/avatar_uploader.rb +22 -0
  44. data/sufia-models/app/models/sufia/avatar_validator.rb +8 -0
  45. data/sufia-models/app/models/trophy.rb +0 -2
  46. data/sufia-models/app/models/version_committer.rb +0 -1
  47. data/sufia-models/lib/generators/sufia/models/templates/migrations/add_avatars_to_users.rb +8 -2
  48. data/sufia-models/lib/sufia/models/engine.rb +1 -3
  49. data/sufia-models/lib/sufia/models/generic_file.rb +7 -0
  50. data/sufia-models/lib/sufia/models/version.rb +1 -1
  51. data/sufia-models/lib/sufia/models.rb +1 -1
  52. data/sufia-models/sufia-models.gemspec +4 -8
  53. data/sufia.gemspec +1 -1
  54. data/tasks/sufia-dev.rake +0 -1
  55. data/vendor/assets/javascripts/video.js +129 -4569
  56. metadata +24 -23
  57. data/sufia-models/lib/sufia/models/active_record/deprecated_attr_accessible.rb +0 -16
  58. data/sufia-models/lib/sufia/models/active_support/core_ext/marshal.rb +0 -22
  59. data/tasks/sufia.rake +0 -173
@@ -3,28 +3,30 @@ require 'spec_helper'
3
3
  describe "Browse files" do
4
4
 
5
5
  before(:all) do
6
- find_or_create_file_fixtures
6
+ @fixtures = find_or_create_file_fixtures
7
+ (1..25).each do |i|
8
+ @fixtures[0].tag << i
9
+ end
10
+ @fixtures[0].save
7
11
  end
8
12
 
9
13
  describe "when not logged in" do
10
14
  it "should let us browse some of the fixtures" do
11
15
  visit '/'
12
- #click_link "more Keywords"
13
- #click_link "test"
14
- #page.should have_content "1 - 5 of 5"
15
- click_link "Fake Document Title"
16
+ click_link "more Keywords"
17
+ click_link "18"
18
+ page.should have_content "1 Search Results"
19
+ click_link @fixtures[0].title[0]
16
20
  page.should have_content "Download"
17
21
  page.should_not have_content "Edit"
18
22
  end
19
- it "should allow you to browse facets" do
23
+ it "should allow you to click next" do
20
24
  # TODO: fix more facets link!
21
- pending "Until more facets link is fixed..."
22
25
  visit '/'
23
- click_link "more Subjects"
24
- click_link "consectetur"
25
- click_link "Test Document MP3.mp3"
26
- page.should have_content "Download"
27
- page.should_not have_content "Edit"
26
+ click_link "more Keywords"
27
+ first(:link, 'Next').click
28
+ page.should have_content "5"
29
+ page.should_not have_content "11"
28
30
  end
29
31
  end
30
32
  end
@@ -10,6 +10,27 @@ describe SufiaHelper do
10
10
  end
11
11
  end
12
12
 
13
+ describe "link_back_to_catalog" do
14
+ let(:query_params) {{:q => "query", :f => "facets", :per_page => "10", :page => "2", :controller=>'catalog'}}
15
+ let(:dashboard_query_params) {{ :page => "2", :controller=>'dashboard'}}
16
+
17
+ it "should build a link tag to catalog using session[:search] for query params" do
18
+ helper.stub(:current_search_session).and_return double(:query_params => query_params)
19
+ tag = helper.link_back_to_catalog
20
+ tag.should =~ /q=query/
21
+ tag.should =~ /f=facets/
22
+ tag.should =~ /per_page=10/
23
+ tag.should =~ /page=2/
24
+ end
25
+
26
+ it "should build a link tag to bookmarks using session[:search] for query params" do
27
+ helper.stub(:current_search_session).and_return double(:query_params => dashboard_query_params)
28
+ tag = helper.link_back_to_catalog(route_set: sufia)
29
+ tag.should =~ /Back to Search/
30
+ tag.should =~ /\/dashboard\/page\/2/
31
+ end
32
+ end
33
+
13
34
  describe "number_of_deposits" do
14
35
  let(:conn) { ActiveFedora::SolrService.instance.conn }
15
36
  before do
@@ -448,81 +448,39 @@ describe GenericFile do
448
448
  end
449
449
  end
450
450
  describe "related_files" do
451
- before(:all) do
452
- @batch_id = "foobar:100"
453
- end
451
+ let(:batch_id) { "foobar:100" }
454
452
  before(:each) do
455
- @f1 = GenericFile.new(:pid => "foobar:1")
456
- @f2 = GenericFile.new(:pid => "foobar:2")
457
- @f3 = GenericFile.new(:pid => "foobar:3")
453
+ @f1 = GenericFile.new
454
+ @f2 = GenericFile.new
455
+ @f3 = GenericFile.new
458
456
  @f1.apply_depositor_metadata('mjg36')
459
457
  @f2.apply_depositor_metadata('mjg36')
460
458
  @f3.apply_depositor_metadata('mjg36')
461
459
  end
462
- after(:each) do
463
- @f1.delete if @f1.persisted?
464
- @f2.delete if @f2.persisted?
465
- @f3.delete if @f3.persisted?
466
- end
467
- it "should never return a file in its own related_files method" do
468
- @f1.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
469
- @f2.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
470
- @f3.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
471
- @f1.save
472
- @f2.save
473
- @f3.save
474
- @f1.related_files.should_not include(@f1)
475
- @f1.related_files.should include(@f2)
476
- @f1.related_files.should include(@f3)
477
- @f2.related_files.should_not include(@f2)
478
- @f2.related_files.should include(@f1)
479
- @f2.related_files.should include(@f3)
480
- @f3.related_files.should_not include(@f3)
481
- @f3.related_files.should include(@f1)
482
- @f3.related_files.should include(@f2)
460
+
461
+ describe "when the files belong to a batch" do
462
+ after(:each) do
463
+ @f1.delete
464
+ @f2.delete
465
+ @f3.delete
466
+ end
467
+ before do
468
+ @f1.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
469
+ @f2.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
470
+ @f3.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
471
+ @f1.save!
472
+ @f2.save!
473
+ @f3.save!
474
+ end
475
+ it "should never return a file in its own related_files method" do
476
+ @f1.related_files.should match_array [@f2, @f3]
477
+ @f2.related_files.should match_array [@f1, @f3]
478
+ @f3.related_files.should match_array [@f1, @f2]
479
+ end
483
480
  end
484
481
  it "should return an empty array when there are no related files" do
485
482
  @f1.related_files.should == []
486
483
  end
487
- it "should work when batch is defined" do
488
- @f1.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
489
- @f2.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
490
- @f1.save
491
- @f2.save
492
- mock_batch = double("batch")
493
- mock_batch.stub(:generic_files => [@f1, @f2])
494
- @f1.should_receive(:batch).and_return(mock_batch)
495
- @f1.related_files.should == [@f2]
496
- end
497
- it "should work when batch is not defined by querying solr" do
498
- @f1.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
499
- @f2.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
500
- @f1.save
501
- @f2.save
502
- @f1.should_receive(:batch).twice.and_raise(NoMethodError)
503
- lambda { @f1.related_files }.should_not raise_error
504
- @f1.related_files.should == [@f2]
505
- end
506
- it "should work when batch is not defined by querying solr" do
507
- @f1.add_relationship(:is_part_of, "info:fedora/#{@batch_id}")
508
- @f2.add_relationship(:is_part_of, "info:fedora/#{@batch_id}")
509
- @f1.save
510
- @f2.save
511
- @f1.should_receive(:batch).twice.and_raise(NoMethodError)
512
- lambda { @f1.related_files }.should_not raise_error
513
- @f1.related_files.should == [@f2]
514
- end
515
- it "should work when batch.generic_files is not defined by querying solr" do
516
- @f1.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
517
- @f2.add_relationship("isPartOf", "info:fedora/#{@batch_id}")
518
- @f1.save
519
- @f2.save
520
- mock_batch = double("batch")
521
- mock_batch.stub(:generic_files).and_raise(NoMethodError)
522
- @f1.should_receive(:batch).twice
523
- lambda { @f1.related_files }.should_not raise_error
524
- @f1.related_files.should == [@f2]
525
- end
526
484
  end
527
485
  describe "noid integration" do
528
486
  before(:all) do
@@ -9,10 +9,6 @@ describe User do
9
9
  @user.delete
10
10
  @another_user.delete
11
11
  end
12
- it "should have a login" do
13
- pending "Move to scholarsphere"
14
- @user.login.should == "jilluser"
15
- end
16
12
  it "should have an email" do
17
13
  @user.user_key.should == "jilluser@example.com"
18
14
  end
@@ -28,6 +24,7 @@ describe User do
28
24
  @user.should respond_to(:twitter_handle)
29
25
  @user.should respond_to(:facebook_handle)
30
26
  @user.should respond_to(:googleplus_handle)
27
+ @user.should respond_to(:linkedin_handle)
31
28
  end
32
29
  it "should redefine to_param to make redis keys more recognizable (and useable within Rails URLs)" do
33
30
  @user.to_param.should == "jilluser@example-dot-com"
@@ -61,4 +58,19 @@ describe User do
61
58
  @another_user.followed_by?(@user).should be_false
62
59
  end
63
60
  end
61
+
62
+ describe "trophy_files" do
63
+ let(:user) { @user }
64
+ let(:file1) { GenericFile.new.tap { |f| f.apply_depositor_metadata(user); f.save! } }
65
+ let(:file2) { GenericFile.new.tap { |f| f.apply_depositor_metadata(user); f.save! } }
66
+ let(:file3) { GenericFile.new.tap { |f| f.apply_depositor_metadata(user); f.save! } }
67
+ let!(:trophy1) { user.trophies.create!(generic_file_id: file1.noid) }
68
+ let!(:trophy2) { user.trophies.create!(generic_file_id: file2.noid) }
69
+ let!(:trophy3) { user.trophies.create!(generic_file_id: file3.noid) }
70
+
71
+ it "should return a list of generic files" do
72
+ expect(user.trophy_files).to eq [file1, file2, file3]
73
+ end
74
+
75
+ end
64
76
  end
@@ -1,5 +1,4 @@
1
1
  class ChecksumAuditLog < ActiveRecord::Base
2
- deprecated_attr_accessible :pass, :pid, :dsid, :version, :created_at
3
2
 
4
3
  def ChecksumAuditLog.get_audit_log(version)
5
4
  ChecksumAuditLog.find_or_create_by_pid_and_dsid_and_version(:pid => version.pid,
@@ -18,17 +18,12 @@ module Sufia::User
18
18
  # Users should be followable
19
19
  acts_as_followable
20
20
 
21
- # Setup accessible (or protected) attributes for your model
22
- deprecated_attr_accessible *permitted_attributes
23
-
24
- # Add user avatar (via paperclip library)
25
- has_attached_file :avatar, :styles => { medium: "300x300>", thumb: "100x100>" }, :default_url => '/assets/missing_:style.png'
26
- validates :avatar, :attachment_content_type => { :content_type => /^image\/(jpg|jpeg|pjpeg|png|x-png|gif)$/ }, :if => Proc.new { |p| p.avatar.file? }
27
- validates :avatar, :attachment_size => { :less_than => 2.megabytes }, :if => Proc.new { |p| p.avatar.file? }
28
-
21
+ mount_uploader :avatar, AvatarUploader, :mount_on => :avatar_file_name
22
+ validates_with AvatarValidator
23
+ has_many :trophies
29
24
  end
30
25
 
31
- # Format the json for select2 which requires just an id and a field called text.
26
+ # Format the json for select2 which requires just an id and a field called text.
32
27
  # If we need an alternate format we should probably look at a json template gem
33
28
  def as_json(opts = nil)
34
29
  {id: user_key, text: display_name ? "#{display_name} (#{user_key})" : user_key}
@@ -48,15 +43,10 @@ module Sufia::User
48
43
  user_key.gsub(/\./, '-dot-')
49
44
  end
50
45
 
51
- # method needed for trophies
52
- def trophies
53
- trophies = Trophy.where(:user_id => self.id)
54
- return trophies
55
- end
56
-
57
- #method to get the trophy ids without the namespace included
58
- def trophy_ids
59
- trophies.map { |t| "#{Sufia.config.id_namespace}:#{t.generic_file_id}" }
46
+ def trophy_files
47
+ trophies.map do |t|
48
+ GenericFile.load_instance_from_solr(Sufia::Noid.namespaceize(t.generic_file_id))
49
+ end
60
50
  end
61
51
 
62
52
  # method needed for messaging
@@ -76,10 +66,10 @@ module Sufia::User
76
66
  module ClassMethods
77
67
 
78
68
  def permitted_attributes
79
- [:email, :login, :display_name, :address, :admin_area,
80
- :department, :title, :office, :chat_id, :website, :affiliation,
69
+ [:email, :login, :display_name, :address, :admin_area,
70
+ :department, :title, :office, :chat_id, :website, :affiliation,
81
71
  :telephone, :avatar, :group_list, :groups_last_update, :facebook_handle,
82
- :twitter_handle, :googleplus_handle]
72
+ :twitter_handle, :googleplus_handle, :linkedin_handle]
83
73
  end
84
74
 
85
75
  def current
@@ -1,10 +1,5 @@
1
1
  class DomainTerm < ActiveRecord::Base
2
- deprecated_attr_accessible :model, :term
3
2
 
4
3
  # TODO we should add an index on this join table and remove the uniq query
5
- if Rails::VERSION::MAJOR > 3
6
- has_and_belongs_to_many :local_authorities, -> {uniq}
7
- else
8
- has_and_belongs_to_many :local_authorities, :uniq=> true
9
- end
4
+ has_and_belongs_to_many :local_authorities, -> {uniq}
10
5
  end
@@ -1,15 +1,7 @@
1
- require 'rdf'
2
- require 'rdf/rdfxml'
3
-
4
1
  class LocalAuthority < ActiveRecord::Base
5
- deprecated_attr_accessible :name
6
2
 
7
- if Rails::VERSION::MAJOR >= 4
8
- # TODO we should add an index on this join table and remove the uniq query
9
- has_and_belongs_to_many :domain_terms, -> { uniq }
10
- else
11
- has_and_belongs_to_many :domain_terms, :uniq=> true
12
- end
3
+ # TODO we should add an index on this join table and remove the uniq query
4
+ has_and_belongs_to_many :domain_terms, -> { uniq }
13
5
 
14
6
  has_many :local_authority_entries
15
7
 
@@ -1,4 +1,3 @@
1
1
  class LocalAuthorityEntry < ActiveRecord::Base
2
2
  belongs_to :local_authority
3
- deprecated_attr_accessible :local_authority, :label, :uri
4
3
  end
@@ -1,7 +1,5 @@
1
1
  class SingleUseLink < ActiveRecord::Base
2
2
 
3
- deprecated_attr_accessible :downloadKey, :path, :expires, :itemId
4
-
5
3
  validate :expiration_date_cannot_be_in_the_past
6
4
  validate :cannot_be_destroyed
7
5
 
@@ -41,4 +39,4 @@ class SingleUseLink < ActiveRecord::Base
41
39
  end
42
40
  end
43
41
 
44
- end
42
+ end
@@ -0,0 +1,22 @@
1
+ class Sufia::AvatarUploader < CarrierWave::Uploader::Base
2
+ include CarrierWave::MiniMagick
3
+ include CarrierWave::Compatibility::Paperclip
4
+
5
+ process convert: 'png'
6
+
7
+ version :medium do
8
+ process resize_to_limit: [300, 300]
9
+ end
10
+
11
+ version :thumb do
12
+ process resize_to_limit: [100, 100]
13
+ end
14
+
15
+ def default_url
16
+ "/assets/missing_#{version_name}.png"
17
+ end
18
+
19
+ def extension_white_list
20
+ %w(jpg jpeg png gif bmp tif tiff)
21
+ end
22
+ end
@@ -0,0 +1,8 @@
1
+ module Sufia
2
+ class AvatarValidator < ActiveModel::Validator
3
+ def validate(record)
4
+ return unless record.avatar?
5
+ record.errors.add(:avatar_file_size, 'must be less than 2MB') if record.avatar.size > 2.megabytes.to_i
6
+ end
7
+ end
8
+ end
@@ -1,6 +1,4 @@
1
1
  class Trophy < ActiveRecord::Base
2
- deprecated_attr_accessible :generic_file_id, :user_id
3
-
4
2
  validate :count_within_limit, :on => :create
5
3
 
6
4
  def count_within_limit
@@ -1,3 +1,2 @@
1
1
  class VersionCommitter < ActiveRecord::Base
2
- deprecated_attr_accessible :obj_id, :datastream_id, :version_id, :committer_login
3
2
  end
@@ -1,9 +1,15 @@
1
1
  class AddAvatarsToUsers < ActiveRecord::Migration
2
2
  def self.up
3
- add_attachment :users, :avatar
3
+ add_column :users, "avatar_file_name", :string
4
+ add_column :users, "avatar_content_type", :string
5
+ add_column :users, "avatar_file_size", :integer
6
+ add_column :users, "avatar_updated_at", :datetime
4
7
  end
5
8
 
6
9
  def self.down
7
- remove_attachment :users, :avatar
10
+ remove_column :users, "avatar_file_name"
11
+ remove_column :users, "avatar_content_type"
12
+ remove_column :users, "avatar_file_size"
13
+ remove_column :users, "avatar_updated_at"
8
14
  end
9
15
  end
@@ -22,7 +22,7 @@ module Sufia
22
22
  config.fits_path = "fits.sh"
23
23
  config.enable_contact_form_delivery = false
24
24
  config.dropbox_api_key = nil
25
- config.enable_local_ingest = nil
25
+ config.enable_local_ingest = nil
26
26
  config.queue = Sufia::Resque::Queue
27
27
 
28
28
  config.autoload_paths += %W(
@@ -38,8 +38,6 @@ module Sufia
38
38
  initializer "patches" do
39
39
  require 'sufia/models/active_fedora/redis'
40
40
  require 'sufia/models/active_record/redis'
41
- require 'sufia/models/active_record/deprecated_attr_accessible'
42
- require 'sufia/models/active_support/core_ext/marshal' unless Rails::VERSION::MAJOR == 4
43
41
  end
44
42
 
45
43
  initializer 'requires' do
@@ -69,6 +69,13 @@ module Sufia
69
69
  end
70
70
  end
71
71
 
72
+ # Get the files with a sibling relationship (belongs_to :batch)
73
+ # The batch id is minted when visiting the upload screen and attached
74
+ # to each file when it is done uploading. The Batch object is not created
75
+ # until all objects are done uploading and the user is redirected to
76
+ # BatchController#edit. Therefore, we must handle the case where
77
+ # self.batch_id is set but self.batch returns nil.
78
+ # This can get a major overhaul with ActiveFedora 7
72
79
  def related_files
73
80
  relateds = begin
74
81
  self.batch.generic_files
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
2
  module Models
3
- VERSION = "3.6.0"
3
+ VERSION = "3.6.1"
4
4
  end
5
5
  end
@@ -4,7 +4,7 @@ require 'hydra/head'
4
4
  require 'nest'
5
5
  require 'mailboxer'
6
6
  require 'acts_as_follower'
7
- require 'paperclip'
7
+ require 'carrierwave'
8
8
  require "active_resource" # used by GenericFile to catch errors & by GeoNamesResource
9
9
  require 'resque/server'
10
10
 
@@ -29,20 +29,16 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency 'rails', '> 4.0.0', '< 5.0'
30
30
  spec.add_dependency 'activeresource' # No longer a dependency of rails 4.0
31
31
 
32
- # spec.add_dependency "hydra", "6.1.0.rc2"
33
- # Since hydra 6.1 isn't out yet, we'll just build it so that it's compatible
34
- # without an explicit dependency
35
- spec.add_dependency "active-fedora", "~> 6.7.0"
36
- spec.add_dependency "blacklight", "~> 4.5.0"
37
- spec.add_dependency "hydra-head", "~> 6.4.0"
38
-
32
+ spec.add_dependency "blacklight", "~> 4.7.0"
33
+ spec.add_dependency "hydra-head", "~> 6.4.1"
34
+ spec.add_dependency "rubydora", "~> 1.7.0"
39
35
  spec.add_dependency 'nest', '~> 1.1.1'
40
36
  spec.add_dependency 'resque', '~> 1.23'
41
37
  spec.add_dependency 'resque-pool', '0.3.0'
42
38
  spec.add_dependency 'noid', '~> 0.6.6'
43
39
  spec.add_dependency 'mailboxer', '~> 0.11.0'
44
40
  spec.add_dependency 'acts_as_follower', '>= 0.1.1', '< 0.3'
45
- spec.add_dependency 'paperclip', '~> 3.4.0'
41
+ spec.add_dependency 'carrierwave', '~> 0.9.0'
46
42
  spec.add_dependency 'hydra-derivatives', '~> 0.0.5'
47
43
  spec.add_dependency 'activerecord-import'
48
44
  end
data/sufia.gemspec CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |gem|
19
19
 
20
20
  gem.add_dependency 'sufia-models', version
21
21
  gem.add_dependency 'blacklight_advanced_search', '~> 2.1.0'
22
+ gem.add_dependency 'blacklight', '>= 4.5'
22
23
 
23
24
  gem.add_dependency 'hydra-batch-edit', '>= 1.1.1', '< 2.0.0'
24
25
 
@@ -26,6 +27,5 @@ Gem::Specification.new do |gem|
26
27
  gem.add_dependency 'mail_form'
27
28
  gem.add_dependency 'rails_autolink', '~> 1.1.0'
28
29
  gem.add_dependency 'yaml_db', '0.2.3'
29
- gem.add_dependency 'rainbow', '1.1.4'
30
30
  gem.add_dependency 'font-awesome-sass-rails', '~>3.0'
31
31
  end
data/tasks/sufia-dev.rake CHANGED
@@ -38,7 +38,6 @@ task :generate do
38
38
  puts "Updating gemfile"
39
39
 
40
40
  `echo "gem 'sufia', :path=>'../../../sufia'
41
- gem 'clamav'
42
41
  gem 'capybara'
43
42
  gem 'factory_girl_rails'
44
43
  gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype'" >> spec/internal/Gemfile`