hubbado-trailblazer 1.0.1 → 1.1.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: ce83fa1c0b2b2d8927321b6f11028103de221b624c9b03a033ba3cef17e71452
4
- data.tar.gz: 1bfe79a10ae54e6d3108f079a5982fdd12a98f3695fdb5708f54c6f176baff75
3
+ metadata.gz: ec0cd7706778cadb1bb1bb2627e3883b39662f6ff761c317fddad4efc2ef586d
4
+ data.tar.gz: dce6665b9dfba888fe406ab7db73e34f2626b427fad5a1bd05478f174aa45da1
5
5
  SHA512:
6
- metadata.gz: 826a903eef21fd6ad006e9e3cd75b2ca37bdd765e41c040fe7c63e26306c779fd3a5bc1f373b9148e96ab902bea7b641cbd74d578820596c15e1ea615679695d
7
- data.tar.gz: b3234e0daff59af8dab2a2bdd8d611d40cad0429b69ffc7f31e0d42ebc2749408d924ced3cd2209fa8737841bae963629c6372f2eb144559cd9e34730f5b66e1
6
+ metadata.gz: be2c721e83a16d26f37a2b33e6c14700a5dbf436a7b4550a4ef1f73755aea5228a27541d177e3567621a901e3710eec93a6894b5a53e4b36fa9d3e6c746c556c
7
+ data.tar.gz: 044d2a714de04d0a85a6cfa7c1ddefc736273dc7dfcf2cb2eb32a22b8fbd927cc79fa5330bd9d85a17a672a2133544031cb548c8f68ad3faed4e94f5634f2783
data/CHANGELOG.md CHANGED
@@ -2,9 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.1.0] - 2025-07-08
9
+
10
+ ### Changed
11
+
12
+ - PrepopulateContract key is now optional
13
+
14
+ ## [1.0.2] - 2025-06-03
15
+
16
+ ### Changed
17
+
18
+ - activerecord dependency is a dev dependency so projects not using active record
19
+ won't have problems loading this gem.
20
+
8
21
  ## [1.0.1] - 2025-05-30
9
22
 
10
23
  ### Added
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "hubbado-trailblazer"
3
- s.version = "1.0.1"
3
+ s.version = "1.1.0"
4
4
  s.summary = "Enhanced Trailblazer operation utilities for Ruby applications with improved error handling, operation execution patterns, and ActiveRecord integration."
5
5
 
6
6
  s.authors = ["Hubbado Devs"]
@@ -22,11 +22,11 @@ Gem::Specification.new do |s|
22
22
  s.platform = Gem::Platform::RUBY
23
23
  s.required_ruby_version = ">= 3.2"
24
24
 
25
- s.add_dependency "activerecord"
26
25
  s.add_dependency "evt-template_method"
27
26
  s.add_dependency "hubbado-log"
28
27
  s.add_dependency "trailblazer-operation"
29
28
 
29
+ s.add_development_dependency "activerecord"
30
30
  s.add_development_dependency "debug"
31
31
  s.add_development_dependency "dry-validation"
32
32
  s.add_development_dependency "sqlite3"
@@ -7,11 +7,11 @@ module Hubbado
7
7
  # For example, a contract, for a not yet saved assignment, might have
8
8
  # timesheet approvers that depend on the client company ID in the
9
9
  # contract
10
- def self.PrepopulateContract(key:)
10
+ def self.PrepopulateContract(key: nil)
11
11
  task = ->((ctx, flow_options), _) do
12
- ctx[:prepopulated_contract] = key
12
+ ctx[:prepopulated_contract] = key ? key : true
13
13
 
14
- params = ctx[:params][key]
14
+ params = key ? ctx[:params][key] : ctx[:params]
15
15
 
16
16
  return ::Trailblazer::Activity::Right, [ctx, flow_options] unless params
17
17
 
@@ -4,9 +4,14 @@ module Hubbado
4
4
  def self.call((_ctx, _flow_options), *)
5
5
  res = nil
6
6
 
7
- ActiveRecord::Base.transaction do
7
+ if defined?(ActiveRecord)
8
+ ActiveRecord::Base.transaction do
9
+ res = yield
10
+ raise ActiveRecord::Rollback if res.first.to_h[:semantic] == :failure
11
+ end
12
+ else
13
+ # No transaction support available
8
14
  res = yield
9
- raise ActiveRecord::Rollback if res.first.to_h[:semantic] == :failure
10
15
  end
11
16
 
12
17
  res
@@ -1,4 +1,3 @@
1
- require 'active_record'
2
1
  require 'hubbado/log'
3
2
  require 'template_method'
4
3
  require 'trailblazer/operation'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hubbado-trailblazer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hubbado Devs
@@ -10,7 +10,7 @@ cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: activerecord
13
+ name: evt-template_method
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
@@ -24,7 +24,7 @@ dependencies:
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
26
  - !ruby/object:Gem::Dependency
27
- name: evt-template_method
27
+ name: hubbado-log
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
@@ -38,7 +38,7 @@ dependencies:
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  - !ruby/object:Gem::Dependency
41
- name: hubbado-log
41
+ name: trailblazer-operation
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
@@ -52,13 +52,13 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  - !ruby/object:Gem::Dependency
55
- name: trailblazer-operation
55
+ name: activerecord
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0'
61
- type: :runtime
61
+ type: :development
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements: