ddr-models 2.7.1 → 2.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cd25ca1a87f36aa646b09de9fe52311735db39c9
4
- data.tar.gz: d3d0b4ec50f9e35fbbccdb1ed2abc633ae9c6592
3
+ metadata.gz: f4cad288ab66e27f4a979008788abc101167edee
4
+ data.tar.gz: 4f2e67b23dc23c59b03af55688c68b911dcdb757
5
5
  SHA512:
6
- metadata.gz: 167c0ac775721da5cba94ef7eb09b760eb9ad20796f869e3b613d22ad3b52ecc246b8cb93efa43017e18726e702c69ab888ef6e51013267fe18344a44d2fa0d8
7
- data.tar.gz: 346fc64b0c5292893c88e0f032d46a0b622634023562a979f133c566c4ee174a066c598a87cfe29681d1d6f462ca57f46facfdbcfe022b0bb86651e80d5f31e9
6
+ metadata.gz: cfdf876d984f71747568ad4f02ffa0d5d3930e7236646367bcb84c0b17d377baaabfd772575f024c73378efcb43df0d1c9fd97a0854da2fdab125ed9e0b27dc1
7
+ data.tar.gz: 58e1ea9ab30fab595d3f1b8475f3cc9c80a46ab3af3093f419592fda2ca2847329a9d469c601c66db16f9a9e8e0728b2c2ed4ad065ddf17b2291ca867deb94d9
@@ -3,15 +3,17 @@ module Ddr::Derivatives
3
3
 
4
4
  def self.call(*args)
5
5
  event = ActiveSupport::Notifications::Event.new(*args)
6
+ payload = event.payload
7
+ return false if payload[:skip_update_derivatives]
6
8
  if event.name == "delete.repo_file" &&
7
- !file_ids.include?(event.payload[:file_id])
9
+ !file_ids.include?(payload[:file_id])
8
10
  return false
9
11
  end
10
12
  if event.name =~ /\.repo_object\z/ &&
11
- (file_ids & event.payload[:datastreams_changed]).empty?
13
+ (file_ids & payload[:datastreams_changed]).empty?
12
14
  return false
13
15
  end
14
- obj = ActiveFedora::Base.find(event.payload[:pid])
16
+ obj = ActiveFedora::Base.find(payload[:pid])
15
17
  obj.derivatives.update_derivatives(:later)
16
18
  end
17
19
 
@@ -148,7 +148,8 @@ module Ddr
148
148
  def notify_update
149
149
  event_params = default_notification_payload.merge(
150
150
  attributes_changed: changes,
151
- datastreams_changed: datastreams_changed.keys
151
+ datastreams_changed: datastreams_changed.keys,
152
+ skip_update_derivatives: cache.fetch(:skip_update_derivatives, false)
152
153
  )
153
154
  ActiveSupport::Notifications.instrument(UPDATE, event_params) do |payload|
154
155
  yield
@@ -1,5 +1,5 @@
1
1
  module Ddr
2
2
  module Models
3
- VERSION = "2.7.1"
3
+ VERSION = "2.7.2"
4
4
  end
5
5
  end
@@ -78,6 +78,13 @@ RSpec.shared_examples "an object that can have content" do
78
78
  expect_any_instance_of(Ddr::Managers::DerivativesManager).to receive(:update_derivatives)
79
79
  subject.upload! file
80
80
  end
81
+ context "and it is saved with :skip_update_derivatives=>true" do
82
+ it "does not generate derivatives" do
83
+ expect_any_instance_of(Ddr::Managers::DerivativesManager).not_to receive(:update_derivatives)
84
+ subject.upload file
85
+ subject.save(skip_update_derivatives: true)
86
+ end
87
+ end
81
88
  context "and the file has not previously been characterized" do
82
89
  it "does not try to delete the existing characterization data" do
83
90
  expect(subject.fits).not_to receive(:delete)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddr-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.1
4
+ version: 2.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Coble
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-04-12 00:00:00.000000000 Z
12
+ date: 2017-04-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -780,7 +780,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
780
780
  version: '0'
781
781
  requirements: []
782
782
  rubyforge_project:
783
- rubygems_version: 2.6.11
783
+ rubygems_version: 2.6.8
784
784
  signing_key:
785
785
  specification_version: 4
786
786
  summary: Models used in the Duke Digital Repository