ddr-models 2.7.1 → 2.7.2

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: 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