transactable 0.4.1 → 0.4.3

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
  SHA256:
3
- metadata.gz: 034dc26b31b75b40cf9c2e40cf55cce4b9da6e15db5b84a47a4525941d699dae
4
- data.tar.gz: 02cb02fc110763ed74566617de72cabf5ad8c10017fd32eb1ec97673453c3b0e
3
+ metadata.gz: e7e47f7fa9f03846876538e85d5d6213ef7bca6f4ab89ef2b4dd9ba2f2b6fc3e
4
+ data.tar.gz: 0e6d53eddaa2669e264754bf741bc2fb7d470916e31bfbbe6adfb3b6dbfa3134
5
5
  SHA512:
6
- metadata.gz: f5fbe8709f8aad78065cfe4cc533bf3e8cd88b848809f67edf91516912bf14016ad4f92a32cb23fda41c482559c62943f0650c4fbdd4ffea1adfa837cdb21732
7
- data.tar.gz: 35a4bffd109ae0d6d817c2c3fbdb7245fcebbae637afbbeacda2d971972819e70898b9ef90ea25ed805647a349fead3319e590944bcea9e32450722c833f71c3
6
+ metadata.gz: 51106c2916ccf9918d57943d15b925781ed96d4182c9589a4acb49d096dc9ed9ad6c69bee544421eeb7f11139a57aa721b9eb411fb1b3efe17fa5a3327acd7d3
7
+ data.tar.gz: bd529f25021dfc2e5251db19401c0d1efbc6c9b20a34da347963e3f4c67fb29e4b55e81879f4f554f96fb8c1a165497925f1044c31dff2bc0fdbaf9a9d10d849
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -2,8 +2,8 @@
2
2
  :toclevels: 5
3
3
  :figure-caption!:
4
4
 
5
- :command_pattern_link: link:https://www.alchemists.io/articles/command_pattern[Command Pattern]
6
- :function_composition_link: link:https://www.alchemists.io/articles/ruby_function_composition[Function Composition]
5
+ :command_pattern_link: link:https://alchemists.io/articles/command_pattern[Command Pattern]
6
+ :function_composition_link: link:https://alchemists.io/articles/ruby_function_composition[Function Composition]
7
7
  :debug_link: link:https://github.com/ruby/debug[Debug]
8
8
  :dry_container_link: link:https://dry-rb.org/gems/dry-container[Dry Container]
9
9
  :dry_events_link: link:https://dry-rb.org/gems/dry-events[Dry Events]
@@ -31,18 +31,34 @@ toc::[]
31
31
 
32
32
  == Setup
33
33
 
34
- To install, run:
34
+ To install _with_ security, run:
35
+
36
+ [source,bash]
37
+ ----
38
+ # 💡 Skip this line if you already have the public certificate installed.
39
+ gem cert --add <(curl --compressed --location https://alchemists.io/gems.pem)
40
+ gem install transactable --trust-policy HighSecurity
41
+ ----
42
+
43
+ To install _without_ security, run:
35
44
 
36
45
  [source,bash]
37
46
  ----
38
47
  gem install transactable
39
48
  ----
40
49
 
41
- Add the following to your Gemfile file:
50
+ You can also add the gem directly to your project:
51
+
52
+ [source,bash]
53
+ ----
54
+ bundle add transactable
55
+ ----
56
+
57
+ Once the gem is installed, you only need to require it:
42
58
 
43
59
  [source,ruby]
44
60
  ----
45
- gem "transactable"
61
+ require "transactable"
46
62
  ----
47
63
 
48
64
  == Usage
@@ -392,8 +408,8 @@ module MySteps
392
408
  class Join < Transactable::Steps::Abstract
393
409
  prepend Transactable::Instrumentable
394
410
 
395
- def initialize delimiter = "_", **dependencies
396
- super(**dependencies)
411
+ def initialize(delimiter = "_", **)
412
+ super(**)
397
413
  @delimiter = delimiter
398
414
  end
399
415
 
@@ -520,8 +536,8 @@ The architecture of this gem is built on top of the following concepts and gems:
520
536
  * {dry_events_link} - Allows all steps to be observable so you can subscribe to any/all events for metric, logging, and other capabilities.
521
537
  * {dry_monads_link} - Critical to ensuring the entire pipeline of steps adhere to the _Railway Pattern_ and leans heavily on the `Result` object.
522
538
  * link:https://dry-rb.org/gems/dry-transaction[Dry Transaction] - Specifically the concept of a _step_ where each step can have an _operation_ and/or _input_ to be processed. Instrumentation is used as well so you can have rich metrics, logging, or any other kind of observer wired up as desired.
523
- * link:https://www.alchemists.io/projects/infusible[Infusible] - Coupled with {dry_container_link}, allows dependencies to be automatically injected.
524
- * link:https://www.alchemists.io/projects/marameters[Marameters] - Through the use of the `.categorize` method, dynamic message passing is possible by inspecting the operation method's parameters.
539
+ * link:https://alchemists.io/projects/infusible[Infusible] - Coupled with {dry_container_link}, allows dependencies to be automatically injected.
540
+ * link:https://alchemists.io/projects/marameters[Marameters] - Through the use of the `.categorize` method, dynamic message passing is possible by inspecting the operation method's parameters.
525
541
 
526
542
  === Style Guide
527
543
 
@@ -597,19 +613,19 @@ bin/benchmark
597
613
 
598
614
  💡 You can view current benchmarks at the end of the above file if you don't want to manually run them.
599
615
 
600
- == link:https://www.alchemists.io/policies/license[License]
616
+ == link:https://alchemists.io/policies/license[License]
601
617
 
602
- == link:https://www.alchemists.io/policies/security[Security]
618
+ == link:https://alchemists.io/policies/security[Security]
603
619
 
604
- == link:https://www.alchemists.io/policies/code_of_conduct[Code of Conduct]
620
+ == link:https://alchemists.io/policies/code_of_conduct[Code of Conduct]
605
621
 
606
- == link:https://www.alchemists.io/policies/contributions[Contributions]
622
+ == link:https://alchemists.io/policies/contributions[Contributions]
607
623
 
608
- == link:https://www.alchemists.io/projects/transactable/versions[Versions]
624
+ == link:https://alchemists.io/projects/transactable/versions[Versions]
609
625
 
610
- == link:https://www.alchemists.io/community[Community]
626
+ == link:https://alchemists.io/community[Community]
611
627
 
612
628
  == Credits
613
629
 
614
- * Built with link:https://www.alchemists.io/projects/gemsmith[Gemsmith].
615
- * Engineered by link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
630
+ * Built with link:https://alchemists.io/projects/gemsmith[Gemsmith].
631
+ * Engineered by link:https://alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
@@ -6,8 +6,8 @@ module Transactable
6
6
  class Check < Abstract
7
7
  prepend Instrumentable
8
8
 
9
- def initialize operation, message, **dependencies
10
- super(**dependencies)
9
+ def initialize(operation, message, **)
10
+ super(**)
11
11
  @operation = operation
12
12
  @message = message
13
13
  end
@@ -8,8 +8,8 @@ module Transactable
8
8
 
9
9
  LAST = -1
10
10
 
11
- def initialize *positionals, at: LAST, **dependencies
12
- super(*positionals, **dependencies)
11
+ def initialize(*positionals, at: LAST, **)
12
+ super(*positionals, **)
13
13
  @value = positionals.empty? ? base_keywords : positionals.flatten
14
14
  @at = at
15
15
  end
@@ -6,8 +6,8 @@ module Transactable
6
6
  class Tee < Abstract
7
7
  prepend Instrumentable
8
8
 
9
- def initialize operation, *positionals, **dependencies
10
- super(*positionals, **dependencies)
9
+ def initialize(operation, *, **)
10
+ super(*, **)
11
11
  @operation = operation
12
12
  end
13
13
 
@@ -6,8 +6,8 @@ module Transactable
6
6
  class To < Abstract
7
7
  prepend Instrumentable
8
8
 
9
- def initialize operation, message, **dependencies
10
- super(**dependencies)
9
+ def initialize(operation, message, **)
10
+ super(**)
11
11
  @operation = operation
12
12
  @message = message
13
13
  end
@@ -6,8 +6,8 @@ module Transactable
6
6
  class Use < Abstract
7
7
  prepend Instrumentable
8
8
 
9
- def initialize operation, **dependencies
10
- super(**dependencies)
9
+ def initialize(operation, **)
10
+ super(**)
11
11
  @operation = operation
12
12
  end
13
13
 
@@ -6,8 +6,8 @@ module Transactable
6
6
  class Validate < Abstract
7
7
  prepend Instrumentable
8
8
 
9
- def initialize operation, as: :to_h, **dependencies
10
- super(**dependencies)
9
+ def initialize(operation, as: :to_h, **)
10
+ super(**)
11
11
  @operation = operation
12
12
  @as = as
13
13
  end
data/transactable.gemspec CHANGED
@@ -2,17 +2,17 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "transactable"
5
- spec.version = "0.4.1"
5
+ spec.version = "0.4.3"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
- spec.homepage = "https://www.alchemists.io/projects/transactable"
8
+ spec.homepage = "https://alchemists.io/projects/transactable"
9
9
  spec.summary = "A DSL for transactional workflows built atop function composition."
10
10
  spec.license = "Hippocratic-2.1"
11
11
 
12
12
  spec.metadata = {
13
13
  "bug_tracker_uri" => "https://github.com/bkuhlmann/transactable/issues",
14
- "changelog_uri" => "https://www.alchemists.io/projects/transactable/versions",
15
- "documentation_uri" => "https://www.alchemists.io/projects/transactable",
14
+ "changelog_uri" => "https://alchemists.io/projects/transactable/versions",
15
+ "documentation_uri" => "https://alchemists.io/projects/transactable",
16
16
  "funding_uri" => "https://github.com/sponsors/bkuhlmann",
17
17
  "label" => "Transactable",
18
18
  "rubygems_mfa_required" => "true",
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: transactable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -10,25 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIC/jCCAeagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
14
- a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0yMjAzMTkxNzI0MzJaFw0yMzAzMTkx
15
- NzI0MzJaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
16
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6l1qpXTiomH1RfMRloyw7MiE
17
- xyVx/x8Yc3EupdH7uhNaTXQGyORN6aOY//1QXXMHIZ9tW74nZLhesWMSUMYy0XhB
18
- brs+KkurHnc9FnEJAbG7ebGvl/ncqZt72nQvaxpDxvuCBHgJAz+8i5wl6FhLw+oT
19
- 9z0A8KcGhz67SdcoQiD7qiCjL/2NTeWHOzkpPrdGlt088+VerEEGf5I13QCvaftP
20
- D5vkU0YlAm1r98BymuJlcQ1qdkVEI1d48ph4kcS0S0nv1RiuyVb6TCAR3Nu3VaVq
21
- 3fPzZKJLZBx67UvXdbdicWPiUR75elI4PXpLIic3xytaF52ZJYyKZCNZJhNwfQID
22
- AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU0nzow9vc
23
- 2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBAJbbNyWzFjqUNVPPCUCo
24
- IMrhDa9xf1xkORXNYYbmXgoxRy/KyNbUr+jgEEoWJAm9GXlcqxxWAUI6pK/i4/Qi
25
- X6rPFEFmeObDOHNvuqy8Hd6AYsu+kP94U/KJhe9wnWGMmGoNKJNU3EkW3jM/osSl
26
- +JRxiH5t4WtnDiVyoYl5nYC02rYdjJkG6VMxDymXTqn7u6HhYgZkGujq1UPar8x2
27
- hNIWJblDKKSu7hA2d6+kUthuYo13o1sg1Da/AEDg0hoZSUvhqDEF5Hy232qb3pDt
28
- CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
29
- RFE=
13
+ MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
14
+ a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
15
+ aW8wHhcNMjMwMzIyMTYxNDQxWhcNMjUwMzIxMTYxNDQxWjBBMQ8wDQYDVQQDDAZi
16
+ cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
17
+ GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
18
+ f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
19
+ M+7QOQ4b1xNLTvY7FYQB1wGK5a4x7TTokDrPYQxDB2jmsdDYCzVbIMrAvUfcecRi
20
+ khyGZCdByiiCl4fKv77P12tTT+NfsvXkLt/AYCGwjOUyGKTQ01Z6eC09T27GayPH
21
+ QQvIkakyFgcJtzSyGzs8bzK5q9u7wQ12MNTjJoXzW69lqp0oNvDylu81EiSUb5S6
22
+ QzzPxZBiRB1sgtbt1gUbVI262ZDq1gR+HxPFmp+Cgt7ZLIJZAtesQvtcMzseXpfn
23
+ hpmm0Sw22KGhRAy/mqHBRhDl5HqS1SJp2Ko3lcnpXeFResp0HNlt8NSu13vhC08j
24
+ GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
25
+ Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaN7MHkw
26
+ CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
27
+ F5wykJEVMB8GA1UdEQQYMBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMB8GA1UdEgQY
28
+ MBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMA0GCSqGSIb3DQEBCwUAA4IBgQAX+EGY
29
+ 9RLYGxF1VLZz+G1ACQc4uyrCB6kXwI06kzUa5dF9tPXqTX9ffnz3/W8ck2IQhKzu
30
+ MKO2FVijzbDWTsZeZGglS4E+4Jxpau1lU9HhOIcKolv6LeC6UdALTFudY+GLb8Xw
31
+ REXgaJkjzzhkUSILmEnRwEbY08dVSl7ZAaxVI679vfI2yapLlIwpbBgmQTiTvPr3
32
+ qyyLUno9flYEOv9fmGHunSrM+gE0/0niGTXa5GgXBXYGS2he4LQGgSBfGp/cTwMU
33
+ rDKJRcusZ12lNBeDfgqACz/BBJF8FLodgk6rGMRZz7+ZmjjHEmpG5bQpR6Q2BuWL
34
+ XMtYk/QzaWuhiR7pWjiF8jbdd7RO6or0ohq7iFkokz/5xrtQ/vPzU2RQ3Qc6YaKw
35
+ 3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
+ gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
30
37
  -----END CERTIFICATE-----
31
- date: 2023-01-22 00:00:00.000000000 Z
38
+ date: 2023-04-30 00:00:00.000000000 Z
32
39
  dependencies:
33
40
  - !ruby/object:Gem::Dependency
34
41
  name: dry-container
@@ -162,13 +169,13 @@ files:
162
169
  - lib/transactable/steps/use.rb
163
170
  - lib/transactable/steps/validate.rb
164
171
  - transactable.gemspec
165
- homepage: https://www.alchemists.io/projects/transactable
172
+ homepage: https://alchemists.io/projects/transactable
166
173
  licenses:
167
174
  - Hippocratic-2.1
168
175
  metadata:
169
176
  bug_tracker_uri: https://github.com/bkuhlmann/transactable/issues
170
- changelog_uri: https://www.alchemists.io/projects/transactable/versions
171
- documentation_uri: https://www.alchemists.io/projects/transactable
177
+ changelog_uri: https://alchemists.io/projects/transactable/versions
178
+ documentation_uri: https://alchemists.io/projects/transactable
172
179
  funding_uri: https://github.com/sponsors/bkuhlmann
173
180
  label: Transactable
174
181
  rubygems_mfa_required: 'true'
@@ -188,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
195
  - !ruby/object:Gem::Version
189
196
  version: '0'
190
197
  requirements: []
191
- rubygems_version: 3.4.4
198
+ rubygems_version: 3.4.12
192
199
  signing_key:
193
200
  specification_version: 4
194
201
  summary: A DSL for transactional workflows built atop function composition.
metadata.gz.sig CHANGED
Binary file