sufia-models 6.2.0 → 6.3.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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/app/actors/sufia/generic_file/actor.rb +4 -7
  3. data/app/jobs/active_fedora_id_based_job.rb +1 -1
  4. data/app/jobs/active_fedora_pid_based_job.rb +1 -2
  5. data/app/jobs/audit_job.rb +1 -1
  6. data/app/jobs/batch_update_job.rb +6 -6
  7. data/app/jobs/create_derivatives_job.rb +2 -3
  8. data/app/jobs/import_url_job.rb +8 -5
  9. data/app/jobs/ingest_local_file_job.rb +1 -1
  10. data/app/models/batch.rb +15 -21
  11. data/app/models/checksum_audit_log.rb +0 -1
  12. data/app/models/concerns/sufia/ability.rb +5 -0
  13. data/app/models/concerns/sufia/collection_behavior.rb +3 -2
  14. data/app/models/concerns/sufia/file_stat_utils.rb +19 -21
  15. data/app/models/concerns/sufia/generic_file/batches.rb +1 -3
  16. data/app/models/concerns/sufia/generic_file/characterization.rb +11 -16
  17. data/app/models/concerns/sufia/generic_file/content.rb +0 -1
  18. data/app/models/concerns/sufia/generic_file/derivatives.rb +2 -2
  19. data/app/models/concerns/sufia/generic_file/export.rb +50 -59
  20. data/app/models/concerns/sufia/generic_file/full_text_indexing.rb +15 -18
  21. data/app/models/concerns/sufia/generic_file/metadata.rb +0 -2
  22. data/app/models/concerns/sufia/generic_file/mime_types.rb +9 -9
  23. data/app/models/concerns/sufia/generic_file/permissions.rb +0 -1
  24. data/app/models/concerns/sufia/generic_file/proxy_deposit.rb +0 -1
  25. data/app/models/concerns/sufia/generic_file/querying.rb +9 -5
  26. data/app/models/concerns/sufia/generic_file/trophies.rb +1 -1
  27. data/app/models/concerns/sufia/generic_file/versions.rb +0 -4
  28. data/app/models/concerns/sufia/model_methods.rb +0 -1
  29. data/app/models/concerns/sufia/user.rb +15 -15
  30. data/app/models/concerns/sufia/user_usage_stats.rb +0 -2
  31. data/app/models/datastreams/fits_datastream.rb +25 -25
  32. data/app/models/domain_term.rb +2 -3
  33. data/app/models/featured_work.rb +3 -5
  34. data/app/models/file_download_stat.rb +3 -4
  35. data/app/models/file_usage.rb +10 -11
  36. data/app/models/file_view_stat.rb +3 -3
  37. data/app/models/follow.rb +1 -1
  38. data/app/models/geo_names_resource.rb +3 -3
  39. data/app/models/group.rb +1 -3
  40. data/app/models/local_authority.rb +26 -28
  41. data/app/models/proxy_deposit_request.rb +9 -9
  42. data/app/models/single_use_link.rb +10 -18
  43. data/app/models/sufia/download.rb +2 -2
  44. data/app/models/sufia/pageview.rb +1 -1
  45. data/app/models/trophy.rb +2 -4
  46. data/app/services/sufia/analytics.rb +10 -11
  47. data/app/services/sufia/generic_file_audit_service.rb +11 -12
  48. data/app/services/sufia/repository_audit_service.rb +1 -1
  49. data/config/locales/sufia.en.yml +2 -0
  50. data/lib/generators/sufia/models/abstract_migration_generator.rb +7 -6
  51. data/lib/generators/sufia/models/install_generator.rb +3 -3
  52. data/lib/generators/sufia/models/templates/config/arkivo_constraint.rb +1 -1
  53. data/lib/generators/sufia/models/templates/config/clamav.rb +1 -1
  54. data/lib/generators/sufia/models/templates/config/redis_config.rb +13 -5
  55. data/lib/generators/sufia/models/templates/config/resque_admin.rb +2 -2
  56. data/lib/generators/sufia/models/templates/config/resque_config.rb +1 -1
  57. data/lib/generators/sufia/models/templates/config/sufia.rb +10 -4
  58. data/lib/generators/sufia/models/templates/migrations/create_checksum_audit_logs.rb +1 -1
  59. data/lib/generators/sufia/models/templates/migrations/create_file_download_stats.rb +1 -1
  60. data/lib/generators/sufia/models/templates/migrations/create_file_view_stats.rb +1 -1
  61. data/lib/generators/sufia/models/templates/migrations/create_local_authorities.rb +1 -1
  62. data/lib/generators/sufia/models/update_content_blocks_generator.rb +0 -1
  63. data/lib/generators/sufia/models/upgrade600_generator.rb +0 -1
  64. data/lib/generators/sufia/models/user_stats_generator.rb +2 -2
  65. data/lib/sufia/messages.rb +17 -17
  66. data/lib/sufia/models.rb +1 -1
  67. data/lib/sufia/models/active_fedora/redis.rb +1 -4
  68. data/lib/sufia/models/active_record/redis.rb +2 -3
  69. data/lib/sufia/models/engine.rb +12 -7
  70. data/lib/sufia/models/file_content/versions.rb +0 -1
  71. data/lib/sufia/models/resque.rb +2 -2
  72. data/lib/sufia/models/stats/user_stat_importer.rb +65 -67
  73. data/lib/sufia/models/user_local_directory_behavior.rb +9 -13
  74. data/lib/sufia/models/utils.rb +1 -2
  75. data/lib/sufia/models/version.rb +1 -1
  76. data/lib/sufia/permissions.rb +0 -1
  77. data/lib/sufia/permissions/readable.rb +0 -1
  78. data/lib/sufia/permissions/writable.rb +20 -23
  79. data/lib/tasks/sufia-models_tasks.rake +18 -0
  80. data/sufia-models.gemspec +1 -1
  81. metadata +5 -5
@@ -2,7 +2,7 @@ module Sufia
2
2
  class RepositoryAuditService
3
3
  def self.audit_everything
4
4
  ::GenericFile.find_each do |gf|
5
- gf.audit
5
+ Sufia::GenericFileAuditService.new(gf).audit
6
6
  end
7
7
  end
8
8
  end
@@ -4,3 +4,5 @@ en:
4
4
  product_twitter_handle: "@HydraSphere"
5
5
  institution_name: "Institution Name"
6
6
  institution_name_full: "The Institution Name"
7
+ sort_label: "Sort the listing of items"
8
+
@@ -11,7 +11,8 @@ class Sufia::Models::AbstractMigrationGenerator < Rails::Generators::Base
11
11
  if @prev_migration_nr
12
12
  @prev_migration_nr += 1
13
13
  else
14
- if last_migration = Dir[File.join(path, '*.rb')].sort.last
14
+ last_migration = Dir[File.join(path, '*.rb')].sort.last
15
+ if last_migration
15
16
  @prev_migration_nr = last_migration.sub(File.join(path, '/'), '').to_i + 1
16
17
  else
17
18
  @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
@@ -22,9 +23,9 @@ class Sufia::Models::AbstractMigrationGenerator < Rails::Generators::Base
22
23
 
23
24
  protected
24
25
 
25
- def better_migration_template(file)
26
- migration_template "migrations/#{file}", "db/migrate/#{file}"
27
- rescue Rails::Generators::Error => e
28
- say_status("error", e.message, :red)
29
- end
26
+ def better_migration_template(file)
27
+ migration_template "migrations/#{file}", "db/migrate/#{file}"
28
+ rescue Rails::Generators::Error => e
29
+ say_status("error", e.message, :red)
30
+ end
30
31
  end
@@ -2,7 +2,7 @@ require_relative 'abstract_migration_generator'
2
2
 
3
3
  class Sufia::Models::InstallGenerator < Sufia::Models::AbstractMigrationGenerator
4
4
  source_root File.expand_path('../templates', __FILE__)
5
- argument :model_name, type: :string , default: "user"
5
+ argument :model_name, type: :string, default: "user"
6
6
  desc """
7
7
  This generator makes the following changes to your application:
8
8
  1. Creates several database migrations if they do not exist in /db/migrate
@@ -46,7 +46,7 @@ This generator makes the following changes to your application:
46
46
  # Add behaviors to the user model
47
47
  def inject_sufia_user_behavior
48
48
  file_path = "app/models/#{model_name.underscore}.rb"
49
- if File.exists?(file_path)
49
+ if File.exist?(file_path)
50
50
  inject_into_file file_path, after: /include Hydra\:\:User.*$/ do
51
51
  "# Connects this user object to Sufia behaviors. " +
52
52
  "\n include Sufia::User\n"
@@ -58,7 +58,7 @@ This generator makes the following changes to your application:
58
58
 
59
59
  def create_configuration_files
60
60
  append_file 'config/initializers/mime_types.rb',
61
- "\nMime::Type.register 'application/x-endnote-refer', :endnote", {verbose: false }
61
+ "\nMime::Type.register 'application/x-endnote-refer', :endnote", verbose: false
62
62
  copy_file 'config/sufia.rb', 'config/initializers/sufia.rb'
63
63
  copy_file 'config/redis.yml', 'config/redis.yml'
64
64
  copy_file 'config/resque-pool.yml', 'config/resque-pool.yml'
@@ -1,6 +1,6 @@
1
1
  module Sufia
2
2
  class ArkivoConstraint
3
- def self.matches?(request)
3
+ def self.matches?(_request)
4
4
  # Add your own logic here to authorize trusted connections to
5
5
  # the API e.g., if your installation of Arkivo runs on a host
6
6
  # with the 10.0.0.3 IP address, you could use:
@@ -1 +1 @@
1
- ClamAV.instance.loaddb() if defined? ClamAV
1
+ ClamAV.instance.loaddb if defined? ClamAV
@@ -4,24 +4,32 @@ if defined?(PhusionPassenger)
4
4
  if forked
5
5
  # Re-establish redis connection
6
6
  require 'redis'
7
- config = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
7
+ config = YAML.load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
8
8
 
9
9
  # The important two lines
10
10
  $redis.client.disconnect if $redis
11
- $redis = Redis.new(host: config[:host], port: config[:port], thread_safe: true) rescue nil
11
+ $redis = begin
12
+ Redis.new(host: config[:host], port: config[:port], thread_safe: true)
13
+ rescue
14
+ nil
15
+ end
12
16
  Resque.redis = $redis
13
17
  Resque.redis.client.reconnect if Resque.redis
14
18
  Resque.redis.namespace = "#{Sufia.config.redis_namespace}:#{Rails.env}"
15
19
  end
16
20
  end
17
21
  else
18
- config = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
19
- $redis = Redis.new(host: config[:host], port: config[:port], thread_safe: true) rescue nil
22
+ config = YAML.load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
23
+ $redis = begin
24
+ Redis.new(host: config[:host], port: config[:port], thread_safe: true)
25
+ rescue
26
+ nil
27
+ end
20
28
  end
21
29
 
22
30
  # Code borrowed from Obie's Redis patterns talk at RailsConf'12
23
31
  Nest.class_eval do
24
- def initialize(key, redis=$redis)
32
+ def initialize(key, redis = $redis)
25
33
  super(key.to_param)
26
34
  @redis = redis
27
35
  end
@@ -3,8 +3,8 @@ module Sufia
3
3
  def self.matches?(request)
4
4
  current_user = request.env['warden'].user
5
5
  return false if current_user.blank?
6
- # TODO code a group here that makes sense
7
- #current_user.groups.include? 'umg/up.dlt.scholarsphere-admin'
6
+ # TODO: code a group here that makes sense
7
+ # current_user.groups.include? 'umg/up.dlt.scholarsphere-admin'
8
8
  end
9
9
  end
10
10
  end
@@ -1,4 +1,4 @@
1
- config = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
1
+ config = YAML.load(ERB.new(IO.read(File.join(Rails.root, 'config', 'redis.yml'))).result)[Rails.env].with_indifferent_access
2
2
  Resque.redis = Redis.new(host: config[:host], port: config[:port], thread_safe: true)
3
3
 
4
4
  Resque.inline = Rails.env.test?
@@ -42,7 +42,7 @@ Sufia.config do |config|
42
42
  "Research Paper" => "Research Paper",
43
43
  "Software or Program Code" => "Software or Program Code",
44
44
  "Video" => "Video",
45
- "Other" => "Other",
45
+ "Other" => "Other"
46
46
  }
47
47
 
48
48
  config.resource_types_to_schema = {
@@ -65,11 +65,11 @@ Sufia.config do |config|
65
65
  "Research Paper" => "http://schema.org/ScholarlyArticle",
66
66
  "Software or Program Code" => "http://schema.org/Code",
67
67
  "Video" => "http://schema.org/VideoObject",
68
- "Other" => "http://schema.org/CreativeWork",
68
+ "Other" => "http://schema.org/CreativeWork"
69
69
  }
70
70
 
71
71
  config.permission_levels = {
72
- "Choose Access"=>"none",
72
+ "Choose Access" => "none",
73
73
  "View/Download" => "read",
74
74
  "Edit" => "edit"
75
75
  }
@@ -107,6 +107,13 @@ Sufia.config do |config|
107
107
  # Specify a different template for your repository's NOID IDs
108
108
  # config.noid_template = ".reeddeeddk"
109
109
 
110
+ # Store identifier minter's state in a file for later replayability
111
+ # config.minter_statefile = '/tmp/minter-state'
112
+
113
+ # Process for translating Fedora URIs to identifiers and vice versa
114
+ # config.translate_uri_to_id = ActiveFedora::Noid.config.translate_uri_to_id
115
+ # config.translate_id_to_uri = ActiveFedora::Noid.config.translate_id_to_uri
116
+
110
117
  # Specify the prefix for Redis keys:
111
118
  # config.redis_namespace = "sufia"
112
119
 
@@ -135,7 +142,6 @@ Sufia.config do |config|
135
142
  rescue Errno::ENOENT
136
143
  config.browse_everything = nil
137
144
  end
138
-
139
145
  end
140
146
 
141
147
  Date::DATE_FORMATS[:standard] = "%m/%d/%Y"
@@ -9,7 +9,7 @@ class CreateChecksumAuditLogs < ActiveRecord::Migration
9
9
  t.string :actual_result
10
10
  t.timestamps
11
11
  end
12
- add_index :checksum_audit_logs, [:pid, :dsid], name: 'by_pid_and_dsid', order: {created_at: "DESC" }
12
+ add_index :checksum_audit_logs, [:pid, :dsid], name: 'by_pid_and_dsid', order: { created_at: "DESC" }
13
13
  end
14
14
 
15
15
  def self.down
@@ -3,7 +3,7 @@ class CreateFileDownloadStats < ActiveRecord::Migration
3
3
  create_table :file_download_stats do |t|
4
4
  t.datetime :date
5
5
  t.integer :downloads
6
- t.string :file_id
6
+ t.string :file_id
7
7
 
8
8
  t.timestamps
9
9
  end
@@ -3,7 +3,7 @@ class CreateFileViewStats < ActiveRecord::Migration
3
3
  create_table :file_view_stats do |t|
4
4
  t.datetime :date
5
5
  t.integer :views
6
- t.string :file_id
6
+ t.string :file_id
7
7
 
8
8
  t.timestamps
9
9
  end
@@ -20,7 +20,7 @@ class CreateLocalAuthorities < ActiveRecord::Migration
20
20
  t.integer :local_authority_id, foreign_key: true
21
21
  end
22
22
 
23
- create_table :subject_local_authority_entries, force: true do |t|
23
+ create_table :subject_local_authority_entries, force: true do |t|
24
24
  t.string :label
25
25
  t.string :lowerLabel
26
26
  t.string :url
@@ -14,5 +14,4 @@ This generator creates a database migration to add an external_key column to the
14
14
  def copy_migrations
15
15
  better_migration_template 'add_external_key_to_content_blocks.rb'
16
16
  end
17
-
18
17
  end
@@ -18,4 +18,3 @@ This generator for upgrading sufia-models to 6.0 makes the following changes to
18
18
  end
19
19
  end
20
20
  end
21
-
@@ -2,7 +2,7 @@ require_relative 'abstract_migration_generator'
2
2
 
3
3
  class Sufia::Models::UserStatsGenerator < Sufia::Models::AbstractMigrationGenerator
4
4
  source_root File.expand_path('../templates', __FILE__)
5
- argument :model_name, type: :string , default: "user"
5
+ argument :model_name, type: :string, default: "user"
6
6
 
7
7
  desc """
8
8
  This generator adds usage stats methods to the user model in your application:
@@ -20,7 +20,7 @@ This generator adds usage stats methods to the user model in your application:
20
20
  def add_stats_mixin_to_user_model
21
21
  file_path = "app/models/#{model_name.underscore}.rb"
22
22
 
23
- if File.exists?(file_path)
23
+ if File.exist?(file_path)
24
24
  inject_into_file file_path, after: /include Sufia\:\:User.*$/ do
25
25
  "\n include Sufia::UserUsageStats"
26
26
  end
@@ -15,52 +15,52 @@ module Sufia
15
15
  I18n.t("sufia.messages.failure.subject")
16
16
  end
17
17
 
18
- def single_success id, file
19
- content_tag :span, id: "ss-"+id do
18
+ def single_success(id, file)
19
+ content_tag :span, id: "ss-" + id do
20
20
  [link_to_file(file), I18n.t("sufia.messages.success.single")].join(" ").html_safe
21
21
  end
22
22
  end
23
23
 
24
- def multiple_success id, files
25
- content_tag :span, id: "ss-"+id do
24
+ def multiple_success(id, files)
25
+ content_tag :span, id: "ss-" + id do
26
26
  [success_link(files), I18n.t("sufia.messages.success.multiple.tag")].join(" ").html_safe
27
27
  end
28
28
  end
29
29
 
30
- def single_failure id, file
31
- content_tag :span, id: "ss-"+id do
30
+ def single_failure(id, file)
31
+ content_tag :span, id: "ss-" + id do
32
32
  [link_to_file(file), I18n.t("sufia.messages.failure.single")].join(" ").html_safe
33
33
  end
34
34
  end
35
35
 
36
- def multiple_failure id, files
37
- content_tag :span, id: "ss-"+id do
36
+ def multiple_failure(id, files)
37
+ content_tag :span, id: "ss-" + id do
38
38
  [failure_link(files), I18n.t("sufia.messages.failure.multiple.tag")].join(" ").html_safe
39
39
  end
40
40
  end
41
41
 
42
42
  # Double-quotes are replaced with single ones so this list can be included in a data block. Ex:
43
43
  # <a href="#" data-content="<a href='#'>embedded link</a>" rel="popover">Click me</a>
44
- def file_list files
45
- files.map { |gf| link_to_file(gf) }.join(', ').gsub(/"/, "'")
44
+ def file_list(files)
45
+ files.map { |gf| link_to_file(gf) }.join(', ').tr("\"", "'")
46
46
  end
47
47
 
48
- def link_to_file file
48
+ def link_to_file(file)
49
49
  link_to(file.to_s, Sufia::Engine.routes.url_helpers.generic_file_path(file))
50
50
  end
51
51
 
52
52
  private
53
53
 
54
- def success_link files
54
+ def success_link(files)
55
55
  link_to I18n.t("sufia.messages.success.multiple.link"), "#",
56
- rel: "popover",
57
- data: { content: file_list(files).html_safe, title: I18n.t("sufia.messages.success.title") }
56
+ rel: "popover",
57
+ data: { content: file_list(files).html_safe, title: I18n.t("sufia.messages.success.title") }
58
58
  end
59
59
 
60
- def failure_link files
60
+ def failure_link(files)
61
61
  link_to I18n.t("sufia.messages.failure.multiple.link"), "#",
62
- rel: "popover",
63
- data: { content: file_list(files).html_safe, title: I18n.t("sufia.messages.failure.title") }
62
+ rel: "popover",
63
+ data: { content: file_list(files).html_safe, title: I18n.t("sufia.messages.failure.title") }
64
64
  end
65
65
  end
66
66
  end
data/lib/sufia/models.rb CHANGED
@@ -29,6 +29,6 @@ module Sufia
29
29
 
30
30
  yield @@config if block
31
31
 
32
- return @@config
32
+ @@config
33
33
  end
34
34
  end
@@ -12,7 +12,7 @@ module ActiveFedora
12
12
  nil
13
13
  end
14
14
 
15
- def events(size=-1)
15
+ def events(size = -1)
16
16
  stream[:event].lrange(0, size).map do |event_id|
17
17
  {
18
18
  action: $redis.hget("events:#{event_id}", "action"),
@@ -38,6 +38,3 @@ module ActiveFedora
38
38
  end
39
39
  end
40
40
  end
41
-
42
-
43
-
@@ -11,7 +11,7 @@ ActiveRecord::Base.class_eval do
11
11
  nil
12
12
  end
13
13
 
14
- def events(size=-1)
14
+ def events(size = -1)
15
15
  stream[:event].lrange(0, size).map do |event_id|
16
16
  {
17
17
  action: $redis.hget("events:#{event_id}", "action"),
@@ -22,7 +22,7 @@ ActiveRecord::Base.class_eval do
22
22
  []
23
23
  end
24
24
 
25
- def profile_events(size=-1)
25
+ def profile_events(size = -1)
26
26
  stream[:event][:profile].lrange(0, size).map do |event_id|
27
27
  {
28
28
  action: $redis.hget("events:#{event_id}", "action"),
@@ -53,4 +53,3 @@ ActiveRecord::Base.class_eval do
53
53
  nil
54
54
  end
55
55
  end
56
-
@@ -5,11 +5,12 @@ module Sufia
5
5
 
6
6
  yield @@config if block
7
7
 
8
- return @@config
8
+ @@config
9
9
  end
10
10
 
11
11
  class Engine < ::Rails::Engine
12
12
  require 'sufia/models/resque'
13
+ require 'active_fedora/noid'
13
14
 
14
15
  # Set some configuration defaults
15
16
  config.persistent_hostpath = "http://localhost/files/"
@@ -17,9 +18,6 @@ module Sufia
17
18
  config.ffmpeg_path = 'ffmpeg'
18
19
  config.fits_message_length = 5
19
20
  config.temp_file_base = nil
20
- config.enable_noids = true
21
- config.noid_template = '.reeddeeddk'
22
- config.minter_statefile = '/tmp/minter-state'
23
21
  config.redis_namespace = "sufia"
24
22
  config.fits_path = "fits.sh"
25
23
  config.enable_contact_form_delivery = false
@@ -28,10 +26,17 @@ module Sufia
28
26
  config.analytics = false
29
27
  config.queue = Sufia::Resque::Queue
30
28
  config.max_notifications_for_dashboard = 5
31
- config.activity_to_show_default_seconds_since_now = 24*60*60
29
+ config.activity_to_show_default_seconds_since_now = 24 * 60 * 60
32
30
  config.arkivo_api = false
33
31
  config.retry_unless_sleep = 0.0
34
32
 
33
+ # Noid identifiers
34
+ config.enable_noids = true
35
+ config.noid_template = '.reeddeeddk'
36
+ config.minter_statefile = '/tmp/minter-state'
37
+ config.translate_uri_to_id = ActiveFedora::Noid.config.translate_uri_to_id
38
+ config.translate_id_to_uri = ActiveFedora::Noid.config.translate_id_to_uri
39
+
35
40
  # Defaulting analytic start date to whenever the file was uploaded by leaving it blank
36
41
  config.analytic_start_date = nil
37
42
 
@@ -68,8 +73,8 @@ module Sufia
68
73
  Hydra::Derivatives.fits_path = c.fits_path
69
74
  Hydra::Derivatives.enable_ffmpeg = c.enable_ffmpeg
70
75
 
71
- ActiveFedora::Base.translate_uri_to_id = ActiveFedora::Noid.config.translate_uri_to_id
72
- ActiveFedora::Base.translate_id_to_uri = ActiveFedora::Noid.config.translate_id_to_uri
76
+ ActiveFedora::Base.translate_uri_to_id = c.translate_uri_to_id
77
+ ActiveFedora::Base.translate_id_to_uri = c.translate_id_to_uri
73
78
  ActiveFedora::Noid.config.template = c.noid_template
74
79
  ActiveFedora::Noid.config.statefile = c.minter_statefile
75
80
  end
@@ -1,7 +1,6 @@
1
1
  module Sufia
2
2
  module FileContent
3
3
  module Versions
4
-
5
4
  def latest_version
6
5
  versions.last unless versions.empty?
7
6
  end
@@ -18,9 +18,9 @@ module Sufia
18
18
  ActiveFedora::Base.logger.error "Redis is down!"
19
19
  rescue Redis::TimeoutError => error
20
20
  ActiveFedora::Base.logger.warn "Redis Timed out. Trying again! #{job.inspect}"
21
- push_tries+=1
21
+ push_tries += 1
22
22
  # fail for good if the tries is greater than 3
23
- raise error if push_tries >=3
23
+ raise error if push_tries >= 3
24
24
  sleep 0.01
25
25
  retry
26
26
  end