eco-helpers 2.6.0 → 2.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +72 -4
- data/README.md +5 -0
- data/eco-helpers.gemspec +1 -1
- data/lib/eco/api/common/class_helpers.rb +1 -1
- data/lib/eco/api/common/loaders/case_base.rb +0 -2
- data/lib/eco/api/common/loaders/config/workflow/mailer.rb +78 -0
- data/lib/eco/api/common/loaders/config/workflow.rb +11 -0
- data/lib/eco/api/common/loaders/config.rb +29 -0
- data/lib/eco/api/common/loaders/error_handler.rb +0 -2
- data/lib/eco/api/common/loaders/parser.rb +0 -1
- data/lib/eco/api/common/loaders/policy.rb +0 -2
- data/lib/eco/api/common/loaders.rb +1 -0
- data/lib/eco/api/common/session/mailer.rb +3 -1
- data/lib/eco/api/common/version_patches/exception.rb +2 -2
- data/lib/eco/api/common/version_patches/ruby3/object.rb +18 -0
- data/lib/eco/api/common/version_patches/ruby3.rb +1 -0
- data/lib/eco/api/common/version_patches.rb +3 -0
- data/lib/eco/api/custom/config.rb +10 -0
- data/lib/eco/api/custom/mailer.rb +9 -0
- data/lib/eco/api/custom/namespace.rb +2 -0
- data/lib/eco/api/custom/workflow.rb +9 -0
- data/lib/eco/api/custom.rb +3 -0
- data/lib/eco/api/session/batch/base_policy.rb +13 -5
- data/lib/eco/api/session/batch/job.rb +10 -7
- data/lib/eco/api/session/config/workflow.rb +94 -58
- data/lib/eco/api/session/config.rb +2 -2
- data/lib/eco/api/usecases/base_io.rb +50 -4
- data/lib/eco/api/usecases/cli/dsl.rb +23 -13
- data/lib/eco/api/usecases/default/locations/cli/tagtree_extract_cli.rb +5 -0
- data/lib/eco/api/usecases/default/locations/tagtree_extract_case.rb +12 -4
- data/lib/eco/api/usecases/graphql/helpers/location/base.rb +1 -2
- data/lib/eco/api/usecases/ooze_samples/register_update_case.rb +3 -3
- data/lib/eco/api/usecases/use_case.rb +12 -2
- data/lib/eco/assets.rb +2 -2
- data/lib/eco/cli_default/workflow.rb +102 -120
- data/lib/eco/data/locations/node_base/tag_validations.rb +19 -9
- data/lib/eco/data/locations/node_base/treeify.rb +193 -18
- data/lib/eco/data/locations/node_level.rb +1 -1
- data/lib/eco/data/locations/node_plain/parsing.rb +1 -1
- data/lib/eco/data/locations/node_plain/serial.rb +1 -1
- data/lib/eco/data/locations/node_plain.rb +4 -3
- data/lib/eco/language/klass/when_inherited.rb +17 -0
- data/lib/eco/language/klass.rb +8 -0
- data/lib/eco/language/methods/delegate_missing.rb +28 -0
- data/lib/eco/language/methods/dsl_able.rb +25 -0
- data/lib/eco/language/methods.rb +9 -0
- data/lib/eco/language.rb +2 -0
- data/lib/eco/version.rb +1 -1
- metadata +16 -3
@@ -15,7 +15,7 @@ module Eco::Data::Locations
|
|
15
15
|
PROP_ATTRS = ALL_ATTRS - ADDITIONAL_ATTRS
|
16
16
|
|
17
17
|
def id
|
18
|
-
clean_id(super)
|
18
|
+
clean_id(super, ref: "(Row: #{self.row_num}) ")
|
19
19
|
end
|
20
20
|
# backwards compatibility
|
21
21
|
alias_method :tag, :id
|
@@ -24,8 +24,9 @@ module Eco::Data::Locations
|
|
24
24
|
super || self.id
|
25
25
|
end
|
26
26
|
|
27
|
-
def
|
28
|
-
self.parent_id
|
27
|
+
def parent_id
|
28
|
+
clean_id(super, notify: false, ref: "(Row: #{self.row_num} - parent_id) ")
|
29
29
|
end
|
30
|
+
alias_method :parentId, :parent_id
|
30
31
|
end
|
31
32
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Eco
|
2
|
+
module Language
|
3
|
+
module Klass
|
4
|
+
module WhenInherited
|
5
|
+
def inherited(subclass)
|
6
|
+
super
|
7
|
+
subclass.instance_exec(&when_inherited)
|
8
|
+
end
|
9
|
+
|
10
|
+
def when_inherited(&block)
|
11
|
+
return @when_inherited unless block_given?
|
12
|
+
@when_inherited = block
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Eco
|
2
|
+
module Language
|
3
|
+
module Methods
|
4
|
+
module DelegateMissing
|
5
|
+
def delegate_missing_to(meth)
|
6
|
+
@delegate_missing_to = meth
|
7
|
+
end
|
8
|
+
|
9
|
+
def method_missing(method_name, *args, **kargs, &block)
|
10
|
+
super unless receiver = object_missing_delegated_to
|
11
|
+
receiver.send(method_name, *args, **kargs, &block)
|
12
|
+
end
|
13
|
+
|
14
|
+
def respond_to_missing?(method_name, include_private = false)
|
15
|
+
super
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
# retrieve the delegate_missing_to object
|
21
|
+
def object_missing_delegated_to
|
22
|
+
return nil unless @delegate_missing_to
|
23
|
+
self.method(@delegate_missing_to).call
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Eco
|
2
|
+
module Language
|
3
|
+
module Methods
|
4
|
+
module DslAble
|
5
|
+
# It runs the `block` within this object context
|
6
|
+
# @note if the object misses any method, redirects the method to the
|
7
|
+
# original evaluate caller.
|
8
|
+
def evaluate(*args, **kargs, &block)
|
9
|
+
return unless block_given?
|
10
|
+
@self_before_evaluate = eval "self", block.binding
|
11
|
+
instance_exec(*args, **kargs, &block).tap do
|
12
|
+
@self_before_evaluate = nil
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# When it's the case, redirect to the original `evaluate` caller
|
17
|
+
# @see https://www.dan-manges.com/blog/ruby-dsls-instance-eval-with-delegation
|
18
|
+
def method_missing(method, *args, **kargs, &block)
|
19
|
+
super unless @self_before_evaluate
|
20
|
+
@self_before_evaluate.send(method, *args, **kargs, &block)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/eco/language.rb
CHANGED
data/lib/eco/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eco-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oscar Segura
|
@@ -359,7 +359,7 @@ dependencies:
|
|
359
359
|
version: '1.13'
|
360
360
|
- - "<"
|
361
361
|
- !ruby/object:Gem::Version
|
362
|
-
version: '1.
|
362
|
+
version: '1.17'
|
363
363
|
type: :runtime
|
364
364
|
prerelease: false
|
365
365
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -369,7 +369,7 @@ dependencies:
|
|
369
369
|
version: '1.13'
|
370
370
|
- - "<"
|
371
371
|
- !ruby/object:Gem::Version
|
372
|
-
version: '1.
|
372
|
+
version: '1.17'
|
373
373
|
- !ruby/object:Gem::Dependency
|
374
374
|
name: roo
|
375
375
|
requirement: !ruby/object:Gem::Requirement
|
@@ -496,6 +496,9 @@ files:
|
|
496
496
|
- lib/eco/api/common/loaders.rb
|
497
497
|
- lib/eco/api/common/loaders/base.rb
|
498
498
|
- lib/eco/api/common/loaders/case_base.rb
|
499
|
+
- lib/eco/api/common/loaders/config.rb
|
500
|
+
- lib/eco/api/common/loaders/config/workflow.rb
|
501
|
+
- lib/eco/api/common/loaders/config/workflow/mailer.rb
|
499
502
|
- lib/eco/api/common/loaders/error_handler.rb
|
500
503
|
- lib/eco/api/common/loaders/parser.rb
|
501
504
|
- lib/eco/api/common/loaders/policy.rb
|
@@ -542,12 +545,17 @@ files:
|
|
542
545
|
- lib/eco/api/common/version_patches/hash.rb
|
543
546
|
- lib/eco/api/common/version_patches/hash/deep_merge.rb
|
544
547
|
- lib/eco/api/common/version_patches/object.rb
|
548
|
+
- lib/eco/api/common/version_patches/ruby3.rb
|
549
|
+
- lib/eco/api/common/version_patches/ruby3/object.rb
|
545
550
|
- lib/eco/api/custom.rb
|
551
|
+
- lib/eco/api/custom/config.rb
|
546
552
|
- lib/eco/api/custom/error_handler.rb
|
553
|
+
- lib/eco/api/custom/mailer.rb
|
547
554
|
- lib/eco/api/custom/namespace.rb
|
548
555
|
- lib/eco/api/custom/parser.rb
|
549
556
|
- lib/eco/api/custom/policy.rb
|
550
557
|
- lib/eco/api/custom/use_case.rb
|
558
|
+
- lib/eco/api/custom/workflow.rb
|
551
559
|
- lib/eco/api/error.rb
|
552
560
|
- lib/eco/api/error/handler.rb
|
553
561
|
- lib/eco/api/error/handlers.rb
|
@@ -781,8 +789,13 @@ files:
|
|
781
789
|
- lib/eco/language/curry.rb
|
782
790
|
- lib/eco/language/hash_transform.rb
|
783
791
|
- lib/eco/language/hash_transform_modifier.rb
|
792
|
+
- lib/eco/language/klass.rb
|
793
|
+
- lib/eco/language/klass/when_inherited.rb
|
784
794
|
- lib/eco/language/match.rb
|
785
795
|
- lib/eco/language/match_modifier.rb
|
796
|
+
- lib/eco/language/methods.rb
|
797
|
+
- lib/eco/language/methods/delegate_missing.rb
|
798
|
+
- lib/eco/language/methods/dsl_able.rb
|
786
799
|
- lib/eco/language/models.rb
|
787
800
|
- lib/eco/language/models/class_helpers.rb
|
788
801
|
- lib/eco/language/models/collection.rb
|