chrono_forge 0.9.0 → 0.9.1

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: 1d7b16cc9e00eb7cc95b21a13331c9bc2dffdfcbd4f4e060c03e876f261fa73c
4
- data.tar.gz: 4f9b0b28f7f69f518898ffc1e591087096ac71d84547d4c185c07cc6f0a11643
3
+ metadata.gz: 482a39dce49e0e88ddc0f7341b2806c7893376863caa658eccdd6111c12a4d62
4
+ data.tar.gz: aab4017a4b0f90ff68779a0b21b660e34a10ba53a28325f7bcbb801251796ebb
5
5
  SHA512:
6
- metadata.gz: 208180ae5d6fbe4b3ad30b05f1a60eb231f9bd3135304211ff7861f50e546eb32815ab5e8307e9c910cd1c5a7bdf951777635304ed7c629a7a62f8740df21c85
7
- data.tar.gz: e3fac31dc46d1b126e8de982b02fe70d37ac7ffd6233ec643f20f93296237029640e67bb004cfaf7e71d5f60429cbc4702d4efe40951c48915e3bc08e561ec51
6
+ metadata.gz: 1c1a271dccf9c204633846bc81126b327efb1c176b90181c0dece715f99471a021054f8a892f1a223b11655ededeadc720d34a1a67b7e8ca7cf47a6f9749c175
7
+ data.tar.gz: 72745635bb4e34011c3ed735dfa3d648e88362824463b34bd719b32727c7d36602d130044861b882abb9685633231a57ce9a223771f08855a9938b1811db8405
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.9.1] - 2026-06-25
4
+
5
+ ### Fixed
6
+
7
+ - `LockStrategy.acquire_lock` no longer raises a `NameError` (`undefined local variable or method 'key'`) on lock contention. The concurrent-execution branch referenced an undefined `key` while building its error message, so the intended, benign `ConcurrentExecutionError` ("currently being executed by job X") was masked by a hard `NameError` on every duplicate/racing execution of the same workflow. It now surfaces the real `ConcurrentExecutionError`.
8
+ - Corrected `#{self.class}` → `#{name}` in `LockStrategy`'s lock log/error messages. These are singleton methods (`class << self`), so `self` is already the class and `self.class` rendered the literal string `Class`; messages now name the strategy class.
9
+
3
10
  ## [0.9.0] - 2026-06-03
4
11
 
5
12
  ### Added
@@ -16,7 +16,7 @@ module ChronoForge
16
16
  # Check for active execution
17
17
  if workflow.locked_at && workflow.locked_at > max_duration.ago
18
18
  raise ConcurrentExecutionError,
19
- "ChronoForge:#{self.class}(#{key}) job(#{job_id}) failed to acquire lock. " \
19
+ "ChronoForge:#{name}(#{workflow.key}) job(#{job_id}) failed to acquire lock. " \
20
20
  "Currently being executed by job(#{workflow.locked_by})"
21
21
  end
22
22
 
@@ -27,7 +27,7 @@ module ChronoForge
27
27
  state: :running
28
28
  )
29
29
 
30
- Rails.logger.debug { "ChronoForge:#{self.class}(#{workflow.key}) job(#{job_id}) acquired lock." }
30
+ Rails.logger.debug { "ChronoForge:#{name}(#{workflow.key}) job(#{job_id}) acquired lock." }
31
31
 
32
32
  workflow
33
33
  end
@@ -43,7 +43,7 @@ module ChronoForge
43
43
 
44
44
  if !force && current_locked_by != job_id
45
45
  raise LongRunningConcurrentExecutionError,
46
- "ChronoForge:#{self.class}(#{workflow.key}) job(#{job_id}) executed longer than specified max_duration, " \
46
+ "ChronoForge:#{name}(#{workflow.key}) job(#{job_id}) executed longer than specified max_duration, " \
47
47
  "allowed job(#{current_locked_by}) to acquire the lock."
48
48
  end
49
49
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ChronoForge
4
- VERSION = "0.9.0"
4
+ VERSION = "0.9.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chrono_forge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Froelich
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-06-03 00:00:00.000000000 Z
11
+ date: 2026-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord