sufia-models 3.6.0 → 3.6.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 473c65f0756556119b1e9710330f297de48b7515
4
- data.tar.gz: 12f4b8a3380a9f839afab703e225e0fafbc6fad1
3
+ metadata.gz: b91fa92969ab94424eb6e9233e404c26ac564568
4
+ data.tar.gz: 60b9e09af7c7dba110f6184b840070654de5d390
5
5
  SHA512:
6
- metadata.gz: 3b5892c1e42e9fefa5f9b64a75cae761c37ff06fba9a8a92b198f20c06982f79943af6f6020a76946b82f81c78f71fc479111da93aa24a850ae71adeb5fc163f
7
- data.tar.gz: 534a0750f304ec5600b9eafabfec6fe527241b7e1780d6fe32b01299d186d9d5fce0941ef5aa64986f626318ab998d803d9833e47b47efbe6d07c24f1a2fb17b
6
+ metadata.gz: e2737bec3c1758c69607aab903e4a4d29a793f8121c8a8ade9d0959c57353c818f6a2c17db8e09028397037819dc2078b9b6dfd5f38e9169b96ead0e1f02b762
7
+ data.tar.gz: 2e5941ee1cf398cfbba3c6b2714cbe79e72628f5f7dbbd6a3bc7816ef50a53717f723caeadd5c21e21a5522598ccef80cdd00c7e6ae81c26b1f358e209d7eec6
@@ -21,14 +21,11 @@ module Sufia::User
21
21
  # Setup accessible (or protected) attributes for your model
22
22
  deprecated_attr_accessible *permitted_attributes
23
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
-
24
+ mount_uploader :avatar, AvatarUploader, :mount_on => :avatar_file_name
25
+ validates_with AvatarValidator
29
26
  end
30
27
 
31
- # Format the json for select2 which requires just an id and a field called text.
28
+ # Format the json for select2 which requires just an id and a field called text.
32
29
  # If we need an alternate format we should probably look at a json template gem
33
30
  def as_json(opts = nil)
34
31
  {id: user_key, text: display_name ? "#{display_name} (#{user_key})" : user_key}
@@ -76,8 +73,8 @@ module Sufia::User
76
73
  module ClassMethods
77
74
 
78
75
  def permitted_attributes
79
- [:email, :login, :display_name, :address, :admin_area,
80
- :department, :title, :office, :chat_id, :website, :affiliation,
76
+ [:email, :login, :display_name, :address, :admin_area,
77
+ :department, :title, :office, :chat_id, :website, :affiliation,
81
78
  :telephone, :avatar, :group_list, :groups_last_update, :facebook_handle,
82
79
  :twitter_handle, :googleplus_handle]
83
80
  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,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(
@@ -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
data/lib/sufia/models.rb CHANGED
@@ -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
 
data/sufia-models.gemspec CHANGED
@@ -29,20 +29,14 @@ 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 "hydra", "6.1.0"
39
33
  spec.add_dependency 'nest', '~> 1.1.1'
40
34
  spec.add_dependency 'resque', '~> 1.23'
41
35
  spec.add_dependency 'resque-pool', '0.3.0'
42
36
  spec.add_dependency 'noid', '~> 0.6.6'
43
37
  spec.add_dependency 'mailboxer', '~> 0.11.0'
44
38
  spec.add_dependency 'acts_as_follower', '>= 0.1.1', '< 0.3'
45
- spec.add_dependency 'paperclip', '~> 3.4.0'
39
+ spec.add_dependency 'carrierwave', '~> 0.9.0'
46
40
  spec.add_dependency 'hydra-derivatives', '~> 0.0.5'
47
41
  spec.add_dependency 'activerecord-import'
48
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.0
4
+ version: 3.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Friesen
@@ -73,47 +73,19 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  - !ruby/object:Gem::Dependency
76
- name: active-fedora
76
+ name: hydra
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ~>
80
- - !ruby/object:Gem::Version
81
- version: 6.7.0
82
- type: :runtime
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ~>
87
- - !ruby/object:Gem::Version
88
- version: 6.7.0
89
- - !ruby/object:Gem::Dependency
90
- name: blacklight
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ~>
94
- - !ruby/object:Gem::Version
95
- version: 4.5.0
96
- type: :runtime
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ~>
101
- - !ruby/object:Gem::Version
102
- version: 4.5.0
103
- - !ruby/object:Gem::Dependency
104
- name: hydra-head
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ~>
79
+ - - '='
108
80
  - !ruby/object:Gem::Version
109
- version: 6.4.0
81
+ version: 6.1.0
110
82
  type: :runtime
111
83
  prerelease: false
112
84
  version_requirements: !ruby/object:Gem::Requirement
113
85
  requirements:
114
- - - ~>
86
+ - - '='
115
87
  - !ruby/object:Gem::Version
116
- version: 6.4.0
88
+ version: 6.1.0
117
89
  - !ruby/object:Gem::Dependency
118
90
  name: nest
119
91
  requirement: !ruby/object:Gem::Requirement
@@ -205,19 +177,19 @@ dependencies:
205
177
  - !ruby/object:Gem::Version
206
178
  version: '0.3'
207
179
  - !ruby/object:Gem::Dependency
208
- name: paperclip
180
+ name: carrierwave
209
181
  requirement: !ruby/object:Gem::Requirement
210
182
  requirements:
211
183
  - - ~>
212
184
  - !ruby/object:Gem::Version
213
- version: 3.4.0
185
+ version: 0.9.0
214
186
  type: :runtime
215
187
  prerelease: false
216
188
  version_requirements: !ruby/object:Gem::Requirement
217
189
  requirements:
218
190
  - - ~>
219
191
  - !ruby/object:Gem::Version
220
- version: 3.4.0
192
+ version: 0.9.0
221
193
  - !ruby/object:Gem::Dependency
222
194
  name: hydra-derivatives
223
195
  requirement: !ruby/object:Gem::Requirement
@@ -276,6 +248,8 @@ files:
276
248
  - app/models/local_authority_entry.rb
277
249
  - app/models/single_use_link.rb
278
250
  - app/models/subject_local_authority_entry.rb
251
+ - app/models/sufia/avatar_uploader.rb
252
+ - app/models/sufia/avatar_validator.rb
279
253
  - app/models/trophy.rb
280
254
  - app/models/version_committer.rb
281
255
  - config/locales/sufia.en.yml