pathway 0.12.1 → 0.12.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/pathway/plugins/auto_deconstruct_state/ruby3.rb +1 -0
- data/lib/pathway/version.rb +1 -1
- data/lib/pathway.rb +17 -1
- data/pathway.gemspec +1 -0
- metadata +19 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29e0024427e53290982fedc6eadaacbbf3555627e94930d1c52d3bdcbb90a5dd
|
4
|
+
data.tar.gz: 98fbe3a72e2aa4c1a3a6b0c1a9ed610231256364b4db44e7840da261bac5a47f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81ee05e3aec188a87df7b59032099cfcfb7c59e4641ab6b0db8ebe02bcf693d53fec4db3de16bb62d96e8e84cdf6f45e995411429c53818c748b320da7aa06a2
|
7
|
+
data.tar.gz: f64c5e2d2bc08afcca58b62a53dbb98511f59d6f7588e59732c434f0abaae103ac00c2153e76f6b2b2eeb034855bdf1c2561cfa44ce15885ab12be5fa815f1b3
|
data/CHANGELOG.md
CHANGED
@@ -8,6 +8,7 @@ module Pathway
|
|
8
8
|
|
9
9
|
def _callable(callable)
|
10
10
|
if callable.is_a?(Symbol) && @operation.respond_to?(callable, true) &&
|
11
|
+
@operation.method(callable).arity != 0 &&
|
11
12
|
@operation.method(callable).parameters.all? { _1 in [:key|:keyreq|:keyrest|:block,*] }
|
12
13
|
|
13
14
|
-> state { @operation.send(callable, **state) }
|
data/lib/pathway/version.rb
CHANGED
data/lib/pathway.rb
CHANGED
@@ -83,7 +83,23 @@ module Pathway
|
|
83
83
|
@hash
|
84
84
|
end
|
85
85
|
|
86
|
-
|
86
|
+
def unwrap(&bl)
|
87
|
+
raise 'a block must be provided' if !block_given?
|
88
|
+
params = bl.parameters
|
89
|
+
unless params.all? { |(type,_)| [:block, :key, :keyreq, :keyrest].member?(type) }
|
90
|
+
raise 'only keyword arguments are supported for unwraping'
|
91
|
+
end
|
92
|
+
|
93
|
+
if params.any? {|(type,_)| type == :keyrest }
|
94
|
+
bl.call(**to_hash)
|
95
|
+
else
|
96
|
+
keys = params.select {|(type,_)| type == :key || type == :keyreq }.map(&:last)
|
97
|
+
bl.call(**to_hash.slice(*keys))
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
alias_method :to_h, :to_hash
|
102
|
+
alias_method :u, :unwrap
|
87
103
|
end
|
88
104
|
|
89
105
|
module Plugins
|
data/pathway.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pathway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pablo Herrero
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06
|
11
|
+
date: 2024-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-inflector
|
@@ -192,6 +192,20 @@ dependencies:
|
|
192
192
|
- - ">="
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: pry-stack
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
195
209
|
description: Define your business logic in simple steps.
|
196
210
|
email:
|
197
211
|
- pablodherrero@gmail.com
|
@@ -240,7 +254,7 @@ licenses:
|
|
240
254
|
metadata:
|
241
255
|
bug_tracker_uri: https://github.com/pabloh/pathway/issues
|
242
256
|
source_code_uri: https://github.com/pabloh/pathway
|
243
|
-
post_install_message:
|
257
|
+
post_install_message:
|
244
258
|
rdoc_options: []
|
245
259
|
require_paths:
|
246
260
|
- lib
|
@@ -256,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
256
270
|
version: '0'
|
257
271
|
requirements: []
|
258
272
|
rubygems_version: 3.5.10
|
259
|
-
signing_key:
|
273
|
+
signing_key:
|
260
274
|
specification_version: 4
|
261
275
|
summary: Define your business logic in simple steps.
|
262
276
|
test_files: []
|