lyber-core 8.2.0 → 9.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 36bd350f4d9c4ce74e6da529f8fe9dddd89a8f2c71daa79ccad91fdc9efa00f3
4
- data.tar.gz: '0122852b4e4e24cef6844b8aef7026c75bcd9573947b6c0c002208bd61838315'
3
+ metadata.gz: aaaf768d39cc56a2ad9f40548a9734a1c03155a51cf5df81d8a224d3a773a562
4
+ data.tar.gz: 9ae8b44dc1843f6c7fda1e630851c8bd036f9537aebd610717543f0a9a4373c0
5
5
  SHA512:
6
- metadata.gz: 84d64ade10a163e0092643301e0ead58e695f5506c38651e95965ebae44e128dd619990055c2b0a23cba201e4c816428d57d65f1b9db2c5955337ece3bcee148
7
- data.tar.gz: 8b55154f52c0df55d7fa029ae22e1bd54747e10cb56763e0a71ffd44b1e3608e7d084f8d0c1feda15fc8a981c0d53a986b3b3ff36e5d8156fc9b391523db5c8b
6
+ metadata.gz: d1a9cb62f805fad5aa37ae205fcbaa8dc477d248184df92c114bef7451c05cc49bf379e2decb88b1d6a31f82a67c4fe5cf185e53ff48e97e0522f789771946bc
7
+ data.tar.gz: 27db999355b0bacf1e0f5bf76f33cb0abb03d197081481c9fd0ddf8dc391f5d2a8292eba43a64b07b40df196d6c1c3232f09c8509013e705a47d2f4845eaf63e
@@ -52,13 +52,13 @@ module LyberCore
52
52
  # Calls the #perform_work method, then sets workflow to 'completed' or 'error' depending on success
53
53
  # rubocop:disable Metrics/AbcSize
54
54
  # rubocop:disable Metrics/MethodLength
55
- def perform(druid, version = nil)
55
+ def perform(druid, version)
56
56
  @druid = druid
57
57
  @version = version
58
- Honeybadger.context(druid:, process:, workflow_name:)
58
+ Honeybadger.context(druid:, process:, workflow_name:, version:)
59
59
 
60
60
  logger.info "#{druid} processing #{process} (#{workflow_name})"
61
- return skip_for_superseded_version! if superseded_version?
61
+ return if skip_for_inactive_version?
62
62
  return unless check_item_queued_or_retry?
63
63
 
64
64
  # this is the default note to pass back to workflow service,
@@ -121,19 +121,15 @@ module LyberCore
121
121
  @workflow ||= Workflow.new(object_client:, workflow_name:, process:, version:)
122
122
  end
123
123
 
124
- # @return [Boolean] true if a version was provided and it no longer matches the object's current version,
125
- # meaning a newer version has superseded the one this job was queued for
126
- def superseded_version?
127
- return false if version.nil?
124
+ def skip_for_inactive_version?
125
+ return false if workflow.active_version?
128
126
 
129
- cocina_object.version.to_i != version.to_i
130
- end
131
-
132
- def skip_for_superseded_version!
133
- msg = "Item #{druid} is queued for version #{version} but the current object version is " \
134
- "#{cocina_object.version}. Skipping #{process} (#{workflow_name})."
127
+ msg = "Item #{druid} is queued for version #{version} of #{process} (#{workflow_name}), " \
128
+ 'but that is not the active version. Skipping.'
135
129
  logger.warn(msg)
136
130
  workflow.skip!(msg)
131
+
132
+ true
137
133
  end
138
134
 
139
135
  def check_item_queued_or_retry? # rubocop:disable Metrics/AbcSize
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LyberCore
4
- VERSION = '8.2.0'
4
+ VERSION = '9.0.0'
5
5
  end
@@ -30,6 +30,11 @@ module LyberCore
30
30
  @process_response ||= workflow_response.process_for_recent_version(name: process)
31
31
  end
32
32
 
33
+ # @return [Boolean] true if this workflow step is for the active version of the workflow
34
+ def active_version?
35
+ workflow_response.process_for(name: process, version:).active_version?
36
+ end
37
+
33
38
  def start!(note)
34
39
  workflow_process.update(status: 'started', elapsed: 1.0, note:, version:)
35
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lyber-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.2.0
4
+ version: 9.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alpana Pande