laminar 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +16 -1
- data/CHANGELOG.md +19 -2
- data/laminar.gemspec +2 -2
- data/lib/laminar/callbacks.rb +13 -0
- data/lib/laminar/particle.rb +11 -5
- data/lib/laminar/version.rb +1 -1
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea86f0c10d91bc035b654382cc02a5d3fe66201f29c7f68c59c5ea775089cc87
|
4
|
+
data.tar.gz: a2c93e7cd9b38caa0049d13686dba98b96753147257abc0f7ec12c80494b498f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 803fb931223366209b3146a501580950649bdecf3006677dd28838dfc214bc82623bcf1b9c504710e5f921e1630fa03aa60f4840775ce4ca4655a4ea1764e410
|
7
|
+
data.tar.gz: 333b5fac15453582b529e7dd00b6f62ef4b70a815b95109224f0219932e48a54f91b0abea4576ce7a0e626e23809f78c0e090868fa7f08b7e8370e76fd6bcc12
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,7 +1,22 @@
|
|
1
|
-
|
1
|
+
Layout/LineLength:
|
2
2
|
Max: 99
|
3
3
|
AllCops:
|
4
4
|
TargetRubyVersion: 2.3.0
|
5
5
|
|
6
6
|
Metrics/MethodLength:
|
7
7
|
Max: 12
|
8
|
+
|
9
|
+
Lint/RaiseException:
|
10
|
+
Enabled: true
|
11
|
+
|
12
|
+
Lint/StructNewOverride:
|
13
|
+
Enabled: true
|
14
|
+
|
15
|
+
Style/HashEachMethods:
|
16
|
+
Enabled: true
|
17
|
+
|
18
|
+
Style/HashTransformKeys:
|
19
|
+
Enabled: true
|
20
|
+
|
21
|
+
Style/HashTransformValues:
|
22
|
+
Enabled: true
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [v0.6.0](https://github.com/rmlockerd/laminar/tree/v0.6.0) (2020-04-15)
|
4
|
+
|
5
|
+
- Add 'finalize' callback on particles and flows that is called after
|
6
|
+
invocation finishes, regardless of whether particle halted.
|
7
|
+
|
8
|
+
[Full Changelog](https://github.com/rmlockerd/laminar/compare/v0.5.1...v0.6.0)
|
9
|
+
|
10
|
+
## [v0.5.1](https://github.com/rmlockerd/laminar/tree/v0.5.1) (2020-03-06)
|
11
|
+
|
12
|
+
[Full Changelog](https://github.com/rmlockerd/laminar/compare/v0.5.0...v0.5.1)
|
2
13
|
|
3
14
|
## [v0.5.0](https://github.com/rmlockerd/laminar/tree/v0.5.0) (2018-11-12)
|
15
|
+
|
4
16
|
[Full Changelog](https://github.com/rmlockerd/laminar/compare/v0.4.0...v0.5.0)
|
5
17
|
|
6
18
|
**Implemented enhancements:**
|
@@ -13,6 +25,7 @@
|
|
13
25
|
- Branch conditionals \(if:/unless:\) do not get context passed [\#10](https://github.com/rmlockerd/laminar/issues/10)
|
14
26
|
|
15
27
|
## [v0.4.0](https://github.com/rmlockerd/laminar/tree/v0.4.0) (2018-10-12)
|
28
|
+
|
16
29
|
[Full Changelog](https://github.com/rmlockerd/laminar/compare/v0.3.0...v0.4.0)
|
17
30
|
|
18
31
|
**Implemented enhancements:**
|
@@ -24,6 +37,7 @@
|
|
24
37
|
- branch if/unless don't accept blocks/Procs [\#7](https://github.com/rmlockerd/laminar/issues/7)
|
25
38
|
|
26
39
|
## [v0.3.0](https://github.com/rmlockerd/laminar/tree/v0.3.0) (2018-10-01)
|
40
|
+
|
27
41
|
[Full Changelog](https://github.com/rmlockerd/laminar/compare/v0.2.0...v0.3.0)
|
28
42
|
|
29
43
|
**Implemented enhancements:**
|
@@ -35,10 +49,13 @@
|
|
35
49
|
- Add before/after particle callbacks [\#1](https://github.com/rmlockerd/laminar/issues/1)
|
36
50
|
|
37
51
|
## [v0.2.0](https://github.com/rmlockerd/laminar/tree/v0.2.0) (2018-09-27)
|
52
|
+
|
53
|
+
[Full Changelog](https://github.com/rmlockerd/laminar/compare/8bd9c0f01bae6cfd7f5df58c3c792068fa30366d...v0.2.0)
|
54
|
+
|
38
55
|
**Fixed bugs:**
|
39
56
|
|
40
57
|
- .gemspec missing active\_support dependency [\#4](https://github.com/rmlockerd/laminar/issues/4)
|
41
58
|
|
42
59
|
|
43
60
|
|
44
|
-
\* *This
|
61
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/laminar.gemspec
CHANGED
@@ -33,10 +33,10 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
34
34
|
spec.require_paths = ['lib']
|
35
35
|
|
36
|
-
spec.add_development_dependency 'activesupport', '
|
36
|
+
spec.add_development_dependency 'activesupport', '~> 4.2'
|
37
37
|
|
38
38
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
39
|
-
spec.add_development_dependency 'rake', '~> 12.3.3'
|
39
|
+
spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
|
40
40
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
41
41
|
spec.add_development_dependency 'simplecov', '~> 0.16'
|
42
42
|
end
|
data/lib/laminar/callbacks.rb
CHANGED
@@ -24,6 +24,11 @@ module Laminar
|
|
24
24
|
end
|
25
25
|
alias after_call after
|
26
26
|
|
27
|
+
def finalize(*args, &block)
|
28
|
+
final_list.concat(args)
|
29
|
+
final_list << block if block
|
30
|
+
end
|
31
|
+
|
27
32
|
def before_list
|
28
33
|
@before_list ||= []
|
29
34
|
end
|
@@ -31,6 +36,10 @@ module Laminar
|
|
31
36
|
def after_list
|
32
37
|
@after_list ||= []
|
33
38
|
end
|
39
|
+
|
40
|
+
def final_list
|
41
|
+
@final_list ||= []
|
42
|
+
end
|
34
43
|
end
|
35
44
|
|
36
45
|
# Additional instance methods
|
@@ -45,6 +54,10 @@ module Laminar
|
|
45
54
|
run_callbacks(self.class.after_list)
|
46
55
|
end
|
47
56
|
|
57
|
+
def run_final_callbacks
|
58
|
+
run_callbacks(self.class.final_list)
|
59
|
+
end
|
60
|
+
|
48
61
|
def run_callbacks(list)
|
49
62
|
list.each { |cb| cb.is_a?(Symbol) ? send(cb) : instance_exec(&cb) }
|
50
63
|
end
|
data/lib/laminar/particle.rb
CHANGED
@@ -39,12 +39,18 @@ module Laminar
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def invoke!
|
42
|
-
|
43
|
-
|
42
|
+
begin
|
43
|
+
run_before_callbacks
|
44
|
+
return context if context.halted?
|
44
45
|
|
45
|
-
|
46
|
-
|
47
|
-
|
46
|
+
param_list = context_slice
|
47
|
+
param_list.empty? ? call : call(context_slice)
|
48
|
+
run_after_callbacks unless context.halted?
|
49
|
+
rescue ParticleStopped
|
50
|
+
run_final_callbacks
|
51
|
+
raise
|
52
|
+
end
|
53
|
+
run_final_callbacks
|
48
54
|
context
|
49
55
|
end
|
50
56
|
|
data/lib/laminar/version.rb
CHANGED
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: laminar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Lockerd
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '4.2'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '4.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -43,6 +43,9 @@ dependencies:
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '12.3'
|
48
|
+
- - ">="
|
46
49
|
- !ruby/object:Gem::Version
|
47
50
|
version: 12.3.3
|
48
51
|
type: :development
|
@@ -50,6 +53,9 @@ dependencies:
|
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
55
|
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '12.3'
|
58
|
+
- - ">="
|
53
59
|
- !ruby/object:Gem::Version
|
54
60
|
version: 12.3.3
|
55
61
|
- !ruby/object:Gem::Dependency
|