sufia-models 4.0.0.beta2 → 4.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/app/actors/sufia/generic_file/actor.rb +118 -0
  3. data/app/models/batch.rb +3 -3
  4. data/app/models/checksum_audit_log.rb +3 -3
  5. data/app/models/collection.rb +41 -0
  6. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file.rb +33 -43
  7. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/accessible_attributes.rb +3 -3
  8. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/audit.rb +12 -18
  9. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/characterization.rb +1 -8
  10. data/app/models/concerns/sufia/generic_file/derivatives.rb +26 -0
  11. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/export.rb +13 -13
  12. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/featured.rb +0 -0
  13. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/metadata.rb +0 -0
  14. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/mime_types.rb +15 -1
  15. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/permissions.rb +5 -1
  16. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/reload_on_save.rb +0 -0
  17. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/trophies.rb +0 -0
  18. data/app/models/concerns/sufia/generic_file/versions.rb +16 -0
  19. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/virus_check.rb +2 -3
  20. data/{lib/sufia/models → app/models/concerns/sufia}/generic_file/web_form.rb +9 -2
  21. data/app/models/concerns/sufia/properties_datastream_behavior.rb +3 -4
  22. data/app/models/concerns/sufia/user.rb +2 -2
  23. data/app/models/datastreams/fits_datastream.rb +137 -136
  24. data/app/models/datastreams/generic_file_rdf_datastream.rb +6 -0
  25. data/app/models/datastreams/paranoid_rights_datastream.rb +3 -3
  26. data/app/models/file_usage.rb +53 -0
  27. data/app/models/follow.rb +2 -4
  28. data/app/models/geo_names_resource.rb +5 -7
  29. data/app/models/local_authority.rb +14 -14
  30. data/app/models/single_use_link.rb +1 -1
  31. data/app/models/sufia/download.rb +9 -0
  32. data/app/models/trophy.rb +1 -1
  33. data/app/services/sufia/{usage_statistics.rb → analytics.rb} +1 -24
  34. data/app/services/sufia/id_service.rb +2 -2
  35. data/lib/generators/sufia/models/install_generator.rb +5 -2
  36. data/lib/generators/sufia/models/templates/config/setup_mail.rb +1 -1
  37. data/lib/generators/sufia/models/templates/config/sufia.rb +5 -3
  38. data/lib/generators/sufia/models/templates/migrations/acts_as_follower_migration.rb +6 -6
  39. data/lib/generators/sufia/models/templates/migrations/create_checksum_audit_logs.rb +2 -3
  40. data/lib/generators/sufia/models/templates/migrations/create_local_authorities.rb +20 -20
  41. data/lib/sufia/ability.rb +1 -1
  42. data/lib/sufia/models/engine.rb +3 -9
  43. data/lib/sufia/models/file_content/versions.rb +3 -3
  44. data/lib/sufia/models/jobs/active_fedora_pid_based_job.rb +6 -2
  45. data/lib/sufia/models/jobs/batch_update_job.rb +6 -10
  46. data/lib/sufia/models/jobs/characterize_job.rb +1 -13
  47. data/lib/sufia/models/jobs/create_derivatives_job.rb +14 -0
  48. data/lib/sufia/models/jobs/import_url_job.rb +27 -23
  49. data/lib/sufia/models/version.rb +1 -1
  50. data/lib/tasks/sufia-models_tasks.rake +1 -1
  51. data/sufia-models.gemspec +1 -1
  52. metadata +65 -64
  53. data/lib/sufia/models/generic_file/actions.rb +0 -50
  54. data/lib/sufia/models/generic_file/derivatives.rb +0 -31
  55. data/lib/sufia/models/generic_file/thumbnail.rb +0 -37
  56. data/lib/sufia/models/generic_file/versions.rb +0 -16
  57. data/lib/sufia/models/jobs/transcode_audio_job.rb +0 -15
  58. data/lib/sufia/models/jobs/transcode_video_job.rb +0 -15
  59. data/lib/sufia/models/solr_document_behavior.rb +0 -118
@@ -23,6 +23,7 @@ module Sufia
23
23
  config.enable_contact_form_delivery = false
24
24
  config.browse_everything = nil
25
25
  config.enable_local_ingest = nil
26
+ config.usage_statistics = nil
26
27
  config.queue = Sufia::Resque::Queue
27
28
 
28
29
  config.autoload_paths += %W(
@@ -46,19 +47,12 @@ module Sufia
46
47
  require 'sufia/models/model_methods'
47
48
  require 'sufia/models/file_content'
48
49
  require 'sufia/models/file_content/versions'
49
- require 'sufia/models/generic_file/audit'
50
- require 'sufia/models/generic_file/characterization'
51
- require 'sufia/models/generic_file/derivatives'
52
- require 'sufia/models/generic_file/export'
53
- require 'sufia/models/generic_file/mime_types'
54
- require 'sufia/models/generic_file/thumbnail'
55
- require 'sufia/models/generic_file'
56
50
  require 'sufia/models/user_local_directory_behavior'
57
- require 'sufia/models/solr_document_behavior'
58
51
  require 'sufia/noid'
59
52
  require 'sufia/id_service'
60
- require 'sufia/usage_statistics'
53
+ require 'sufia/analytics'
61
54
  require 'sufia/pageview'
55
+ require 'sufia/download'
62
56
  end
63
57
 
64
58
  initializer 'configure' do
@@ -10,9 +10,9 @@ module Sufia
10
10
  end
11
11
 
12
12
  def version_committer(version)
13
- vc = VersionCommitter.where(:obj_id => version.pid,
14
- :datastream_id => version.dsid,
15
- :version_id => version.versionID)
13
+ vc = VersionCommitter.where(obj_id: version.pid,
14
+ datastream_id: version.dsid,
15
+ version_id: version.versionID)
16
16
  return vc.empty? ? nil : vc.first.committer_login
17
17
  end
18
18
 
@@ -4,11 +4,15 @@ class ActiveFedoraPidBasedJob
4
4
  end
5
5
 
6
6
  attr_accessor :pid
7
+
7
8
  def initialize(pid)
8
9
  self.pid = pid
9
10
  end
11
+
10
12
  def object
11
- @object ||= ActiveFedora::Base.find(pid, cast:true).tap{|f| f.reload_on_save = true}
13
+ @object ||= ActiveFedora::Base.find(pid, cast: true).tap do |f|
14
+ f.reload_on_save = true
15
+ end
12
16
  end
13
17
  alias_method :generic_file, :object
14
18
  alias_method :generic_file_id, :pid
@@ -16,4 +20,4 @@ class ActiveFedoraPidBasedJob
16
20
  def run
17
21
  raise RuntimeError, "Define #run in a subclass"
18
22
  end
19
- end
23
+ end
@@ -1,6 +1,6 @@
1
1
  class BatchUpdateJob
2
2
  include Hydra::PermissionsQuery
3
- include Rails.application.routes.url_helpers
3
+ include Rails.application.routes.url_helpers
4
4
 
5
5
  def queue_name
6
6
  :batch_update
@@ -14,7 +14,6 @@ class BatchUpdateJob
14
14
  self.file_attributes = params[:generic_file]
15
15
  self.visibility = params[:visibility]
16
16
  self.batch_id = params[:id]
17
-
18
17
  end
19
18
 
20
19
  def run
@@ -27,15 +26,14 @@ class BatchUpdateJob
27
26
  update_file(gf, user)
28
27
  end
29
28
  batch.update_attributes({status:["Complete"]})
30
-
29
+
31
30
  job_user = User.batchuser()
32
-
31
+
33
32
  message = '<span class="batchid ui-helper-hidden">ss-'+batch.noid+'</span>The file(s) '+ file_list(@saved)+ " have been saved." unless @saved.empty?
34
33
  job_user.send_message(user, message, 'Batch upload complete') unless @saved.empty?
35
-
34
+
36
35
  message = '<span class="batchid ui-helper-hidden">'+batch.noid+'</span>The file(s) '+ file_list(@denied)+" could not be updated. You do not have sufficient privileges to edit it." unless @denied.empty?
37
36
  job_user.send_message(user, message, 'Batch upload permission denied') unless @denied.empty?
38
-
39
37
  end
40
38
 
41
39
  def update_file(gf, user)
@@ -62,10 +60,8 @@ class BatchUpdateJob
62
60
  Sufia.queue.push(ContentUpdateEventJob.new(gf.pid, login))
63
61
  @saved << gf
64
62
  end
65
-
63
+
66
64
  def file_list ( files)
67
- return files.map {|gf| '<a href="'+Sufia::Engine.routes.url_helpers.generic_files_path+'/'+gf.noid+'">'+gf.to_s+'</a>'}.join(', ')
68
-
65
+ files.map { |gf| '<a href="'+Sufia::Engine.routes.url_helpers.generic_files_path+'/'+gf.noid+'">'+gf.to_s+'</a>' }.join(', ')
69
66
  end
70
-
71
67
  end
@@ -1,22 +1,10 @@
1
1
  class CharacterizeJob < ActiveFedoraPidBasedJob
2
-
3
2
  def queue_name
4
3
  :characterize
5
4
  end
6
5
 
7
6
  def run
8
7
  generic_file.characterize
9
- after_characterize
10
- end
11
-
12
- def after_characterize
13
- if generic_file.pdf? || generic_file.image? || generic_file.video?
14
- generic_file.create_thumbnail
15
- end
16
- if generic_file.video?
17
- Sufia.queue.push(TranscodeVideoJob.new(generic_file_id))
18
- elsif generic_file.audio?
19
- Sufia.queue.push(TranscodeAudioJob.new(generic_file_id))
20
- end
8
+ Sufia.queue.push(CreateDerivativesJob.new(generic_file.id))
21
9
  end
22
10
  end
@@ -0,0 +1,14 @@
1
+ class CreateDerivativesJob < ActiveFedoraPidBasedJob
2
+ def queue_name
3
+ :derivatives
4
+ end
5
+
6
+ def run
7
+ return unless generic_file.content.has_content?
8
+ if generic_file.video?
9
+ return unless Sufia.config.enable_ffmpeg
10
+ end
11
+ generic_file.create_derivatives
12
+ generic_file.save
13
+ end
14
+ end
@@ -12,32 +12,36 @@ class ImportUrlJob < ActiveFedoraPidBasedJob
12
12
  user = User.find_by_user_key(generic_file.depositor)
13
13
 
14
14
  Tempfile.open(self.pid) do |f|
15
- f.binmode
16
-
17
- # download file from url
18
- uri = URI(generic_file.import_url)
19
- http = Net::HTTP.new(uri.host, uri.port)
20
- http.use_ssl = uri.scheme == "https" # enable SSL/TLS
21
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
22
-
23
- http.start do
24
- http.request_get(uri.request_uri) do |resp|
25
- resp.read_body do |segment|
26
- f.write(segment)
27
- end
28
- end
15
+ path = copy_remote_file(generic_file.import_url, f)
16
+ # attach downloaded file to generic file stubbed out
17
+ if Sufia::GenericFile::Actor.new(generic_file, user).create_content(f, path, 'content')
18
+ # add message to user for downloaded file
19
+ message = "The file (#{File.basename(path)}) was successfully imported."
20
+ job_user.send_message(user, message, 'File Import')
21
+ else
22
+ job_user.send_message(user, generic_file.errors.full_messages.join(', '), 'File Import Error')
29
23
  end
24
+ end
25
+ end
30
26
 
31
- f.rewind
32
- # attach downloaded file to generic file stubbed out
33
- Sufia::GenericFile::Actions.create_content(generic_file, f, File.basename(uri.path), 'content', user)
34
- Sufia.queue.push(ContentDepositEventJob.new(generic_file.pid, generic_file.depositor))
35
- # add message to user for downloaded file
36
- message = "The file (#{File.basename(uri.path)}) was successfully imported."
37
- job_user.send_message(user, message, 'File Import')
27
+ def copy_remote_file(import_url, f)
28
+ f.binmode
29
+ # download file from url
30
+ uri = URI(generic_file.import_url)
31
+ http = Net::HTTP.new(uri.host, uri.port)
32
+ http.use_ssl = uri.scheme == "https" # enable SSL/TLS
33
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
34
+
35
+ http.start do
36
+ http.request_get(uri.request_uri) do |resp|
37
+ resp.read_body do |segment|
38
+ f.write(segment)
39
+ end
40
+ end
38
41
  end
39
- rescue => error
40
- job_user.send_message(user, error.message, 'File Import Error')
42
+
43
+ f.rewind
44
+ uri.path
41
45
  end
42
46
 
43
47
  def job_user
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
2
  module Models
3
- VERSION = "4.0.0.beta2"
3
+ VERSION = "4.0.0.beta3"
4
4
  end
5
5
  end
@@ -1,7 +1,7 @@
1
1
  namespace :solr do
2
2
 
3
3
  desc "Enqueue a job to resolrize the repository objects"
4
- task :reindex => :environment do
4
+ task reindex: :environment do
5
5
  Sufia.queue.push(ResolrizeJob.new)
6
6
  end
7
7
  end
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency 'mailboxer', '~> 0.12.0.rc1'
38
38
  spec.add_dependency 'acts_as_follower', '>= 0.1.1', '< 0.3'
39
39
  spec.add_dependency 'carrierwave', '~> 0.9.0'
40
- spec.add_dependency 'hydra-derivatives', '~> 0.0.5'
40
+ spec.add_dependency 'hydra-derivatives', '~> 0.1'
41
41
  spec.add_dependency 'oauth2', '~> 0.9.3'
42
42
  spec.add_dependency 'google-api-client', '~> 0.7.1'
43
43
  spec.add_dependency 'legato', '~> 0.3.0'
metadata CHANGED
@@ -1,117 +1,117 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.beta2
4
+ version: 4.0.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Friesen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-05 00:00:00.000000000 Z
11
+ date: 2014-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '4.0'
48
- - - <
48
+ - - "<"
49
49
  - !ruby/object:Gem::Version
50
50
  version: 5.0.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
- - - ~>
55
+ - - "~>"
56
56
  - !ruby/object:Gem::Version
57
57
  version: '4.0'
58
- - - <
58
+ - - "<"
59
59
  - !ruby/object:Gem::Version
60
60
  version: 5.0.0
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: activeresource
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ~>
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
67
  version: 4.0.0
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - ~>
72
+ - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: 4.0.0
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: hydra-head
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ~>
79
+ - - "~>"
80
80
  - !ruby/object:Gem::Version
81
81
  version: 7.0.1
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - ~>
86
+ - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: 7.0.1
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: nest
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - ~>
93
+ - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: 1.1.1
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - ~>
100
+ - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: 1.1.1
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: resque
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - ~>
107
+ - - "~>"
108
108
  - !ruby/object:Gem::Version
109
109
  version: '1.23'
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - ~>
114
+ - - "~>"
115
115
  - !ruby/object:Gem::Version
116
116
  version: '1.23'
117
117
  - !ruby/object:Gem::Dependency
@@ -132,132 +132,132 @@ dependencies:
132
132
  name: noid
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - ~>
135
+ - - "~>"
136
136
  - !ruby/object:Gem::Version
137
137
  version: 0.6.6
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - ~>
142
+ - - "~>"
143
143
  - !ruby/object:Gem::Version
144
144
  version: 0.6.6
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: mailboxer
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - ~>
149
+ - - "~>"
150
150
  - !ruby/object:Gem::Version
151
151
  version: 0.12.0.rc1
152
152
  type: :runtime
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
- - - ~>
156
+ - - "~>"
157
157
  - !ruby/object:Gem::Version
158
158
  version: 0.12.0.rc1
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: acts_as_follower
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - '>='
163
+ - - ">="
164
164
  - !ruby/object:Gem::Version
165
165
  version: 0.1.1
166
- - - <
166
+ - - "<"
167
167
  - !ruby/object:Gem::Version
168
168
  version: '0.3'
169
169
  type: :runtime
170
170
  prerelease: false
171
171
  version_requirements: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - '>='
173
+ - - ">="
174
174
  - !ruby/object:Gem::Version
175
175
  version: 0.1.1
176
- - - <
176
+ - - "<"
177
177
  - !ruby/object:Gem::Version
178
178
  version: '0.3'
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: carrierwave
181
181
  requirement: !ruby/object:Gem::Requirement
182
182
  requirements:
183
- - - ~>
183
+ - - "~>"
184
184
  - !ruby/object:Gem::Version
185
185
  version: 0.9.0
186
186
  type: :runtime
187
187
  prerelease: false
188
188
  version_requirements: !ruby/object:Gem::Requirement
189
189
  requirements:
190
- - - ~>
190
+ - - "~>"
191
191
  - !ruby/object:Gem::Version
192
192
  version: 0.9.0
193
193
  - !ruby/object:Gem::Dependency
194
194
  name: hydra-derivatives
195
195
  requirement: !ruby/object:Gem::Requirement
196
196
  requirements:
197
- - - ~>
197
+ - - "~>"
198
198
  - !ruby/object:Gem::Version
199
- version: 0.0.5
199
+ version: '0.1'
200
200
  type: :runtime
201
201
  prerelease: false
202
202
  version_requirements: !ruby/object:Gem::Requirement
203
203
  requirements:
204
- - - ~>
204
+ - - "~>"
205
205
  - !ruby/object:Gem::Version
206
- version: 0.0.5
206
+ version: '0.1'
207
207
  - !ruby/object:Gem::Dependency
208
208
  name: oauth2
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - ~>
211
+ - - "~>"
212
212
  - !ruby/object:Gem::Version
213
213
  version: 0.9.3
214
214
  type: :runtime
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - ~>
218
+ - - "~>"
219
219
  - !ruby/object:Gem::Version
220
220
  version: 0.9.3
221
221
  - !ruby/object:Gem::Dependency
222
222
  name: google-api-client
223
223
  requirement: !ruby/object:Gem::Requirement
224
224
  requirements:
225
- - - ~>
225
+ - - "~>"
226
226
  - !ruby/object:Gem::Version
227
227
  version: 0.7.1
228
228
  type: :runtime
229
229
  prerelease: false
230
230
  version_requirements: !ruby/object:Gem::Requirement
231
231
  requirements:
232
- - - ~>
232
+ - - "~>"
233
233
  - !ruby/object:Gem::Version
234
234
  version: 0.7.1
235
235
  - !ruby/object:Gem::Dependency
236
236
  name: legato
237
237
  requirement: !ruby/object:Gem::Requirement
238
238
  requirements:
239
- - - ~>
239
+ - - "~>"
240
240
  - !ruby/object:Gem::Version
241
241
  version: 0.3.0
242
242
  type: :runtime
243
243
  prerelease: false
244
244
  version_requirements: !ruby/object:Gem::Requirement
245
245
  requirements:
246
- - - ~>
246
+ - - "~>"
247
247
  - !ruby/object:Gem::Version
248
248
  version: 0.3.0
249
249
  - !ruby/object:Gem::Dependency
250
250
  name: activerecord-import
251
251
  requirement: !ruby/object:Gem::Requirement
252
252
  requirements:
253
- - - '>='
253
+ - - ">="
254
254
  - !ruby/object:Gem::Version
255
255
  version: '0'
256
256
  type: :runtime
257
257
  prerelease: false
258
258
  version_requirements: !ruby/object:Gem::Requirement
259
259
  requirements:
260
- - - '>='
260
+ - - ">="
261
261
  - !ruby/object:Gem::Version
262
262
  version: '0'
263
263
  description: Models and services for sufia
@@ -267,13 +267,30 @@ executables: []
267
267
  extensions: []
268
268
  extra_rdoc_files: []
269
269
  files:
270
- - .gitignore
270
+ - ".gitignore"
271
271
  - Gemfile
272
272
  - LICENSE.md
273
273
  - README.md
274
274
  - Rakefile
275
+ - app/actors/sufia/generic_file/actor.rb
275
276
  - app/models/batch.rb
276
277
  - app/models/checksum_audit_log.rb
278
+ - app/models/collection.rb
279
+ - app/models/concerns/sufia/generic_file.rb
280
+ - app/models/concerns/sufia/generic_file/accessible_attributes.rb
281
+ - app/models/concerns/sufia/generic_file/audit.rb
282
+ - app/models/concerns/sufia/generic_file/characterization.rb
283
+ - app/models/concerns/sufia/generic_file/derivatives.rb
284
+ - app/models/concerns/sufia/generic_file/export.rb
285
+ - app/models/concerns/sufia/generic_file/featured.rb
286
+ - app/models/concerns/sufia/generic_file/metadata.rb
287
+ - app/models/concerns/sufia/generic_file/mime_types.rb
288
+ - app/models/concerns/sufia/generic_file/permissions.rb
289
+ - app/models/concerns/sufia/generic_file/reload_on_save.rb
290
+ - app/models/concerns/sufia/generic_file/trophies.rb
291
+ - app/models/concerns/sufia/generic_file/versions.rb
292
+ - app/models/concerns/sufia/generic_file/virus_check.rb
293
+ - app/models/concerns/sufia/generic_file/web_form.rb
277
294
  - app/models/concerns/sufia/properties_datastream_behavior.rb
278
295
  - app/models/concerns/sufia/user.rb
279
296
  - app/models/datastreams/batch_rdf_datastream.rb
@@ -284,6 +301,7 @@ files:
284
301
  - app/models/datastreams/properties_datastream.rb
285
302
  - app/models/domain_term.rb
286
303
  - app/models/featured_work.rb
304
+ - app/models/file_usage.rb
287
305
  - app/models/follow.rb
288
306
  - app/models/generic_file.rb
289
307
  - app/models/geo_names_resource.rb
@@ -294,12 +312,13 @@ files:
294
312
  - app/models/subject_local_authority_entry.rb
295
313
  - app/models/sufia/avatar_uploader.rb
296
314
  - app/models/sufia/avatar_validator.rb
315
+ - app/models/sufia/download.rb
297
316
  - app/models/sufia/pageview.rb
298
317
  - app/models/trophy.rb
299
318
  - app/models/version_committer.rb
319
+ - app/services/sufia/analytics.rb
300
320
  - app/services/sufia/id_service.rb
301
321
  - app/services/sufia/noid.rb
302
- - app/services/sufia/usage_statistics.rb
303
322
  - config/locales/sufia.en.yml
304
323
  - lib/generators/sufia/models/install_generator.rb
305
324
  - lib/generators/sufia/models/templates/config/analytics.yml
@@ -334,34 +353,15 @@ files:
334
353
  - lib/sufia/models/engine.rb
335
354
  - lib/sufia/models/file_content.rb
336
355
  - lib/sufia/models/file_content/versions.rb
337
- - lib/sufia/models/generic_file.rb
338
- - lib/sufia/models/generic_file/accessible_attributes.rb
339
- - lib/sufia/models/generic_file/actions.rb
340
- - lib/sufia/models/generic_file/audit.rb
341
- - lib/sufia/models/generic_file/characterization.rb
342
- - lib/sufia/models/generic_file/derivatives.rb
343
- - lib/sufia/models/generic_file/export.rb
344
- - lib/sufia/models/generic_file/featured.rb
345
- - lib/sufia/models/generic_file/metadata.rb
346
- - lib/sufia/models/generic_file/mime_types.rb
347
- - lib/sufia/models/generic_file/permissions.rb
348
- - lib/sufia/models/generic_file/reload_on_save.rb
349
- - lib/sufia/models/generic_file/thumbnail.rb
350
- - lib/sufia/models/generic_file/trophies.rb
351
- - lib/sufia/models/generic_file/versions.rb
352
- - lib/sufia/models/generic_file/virus_check.rb
353
- - lib/sufia/models/generic_file/web_form.rb
354
356
  - lib/sufia/models/jobs/active_fedora_pid_based_job.rb
355
357
  - lib/sufia/models/jobs/audit_job.rb
356
358
  - lib/sufia/models/jobs/batch_update_job.rb
357
359
  - lib/sufia/models/jobs/characterize_job.rb
360
+ - lib/sufia/models/jobs/create_derivatives_job.rb
358
361
  - lib/sufia/models/jobs/import_url_job.rb
359
362
  - lib/sufia/models/jobs/resolrize_job.rb
360
- - lib/sufia/models/jobs/transcode_audio_job.rb
361
- - lib/sufia/models/jobs/transcode_video_job.rb
362
363
  - lib/sufia/models/model_methods.rb
363
364
  - lib/sufia/models/resque.rb
364
- - lib/sufia/models/solr_document_behavior.rb
365
365
  - lib/sufia/models/user_local_directory_behavior.rb
366
366
  - lib/sufia/models/utils.rb
367
367
  - lib/sufia/models/version.rb
@@ -379,12 +379,12 @@ require_paths:
379
379
  - lib
380
380
  required_ruby_version: !ruby/object:Gem::Requirement
381
381
  requirements:
382
- - - '>='
382
+ - - ">="
383
383
  - !ruby/object:Gem::Version
384
384
  version: '0'
385
385
  required_rubygems_version: !ruby/object:Gem::Requirement
386
386
  requirements:
387
- - - '>'
387
+ - - ">"
388
388
  - !ruby/object:Gem::Version
389
389
  version: 1.3.1
390
390
  requirements: []
@@ -394,3 +394,4 @@ signing_key:
394
394
  specification_version: 4
395
395
  summary: Models and services for sufia
396
396
  test_files: []
397
+ has_rdoc: