eac_cli 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/eac_cli/docopt/runner_extension.rb +3 -9
- data/lib/eac_cli/runner.rb +33 -3
- data/lib/eac_cli/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be9a0ff56cf7295f999d8fa365e9eb8b153c9f95c63f645ac0b3bb88e063912a
|
4
|
+
data.tar.gz: '09e64e9fd8dc0efe62b7c237ee0bb9e960ff21b148da33afa41599e8919f16da'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d35cf09f5d89dbd5243f827f3b75c95c3f26051be6b248e322f532823ff969296a3094571c8c9d91e275f6cf872ab9116fa8d27294009722df916f12508f7649
|
7
|
+
data.tar.gz: 1dbb6ef81c81fcaea236339cb530cb0ed7700675c1442e040cdea3b5779ea2a33ef9472db39d7f9a43a101d204bb2b080016b5d6487a3d25ea27495a14dc6138
|
@@ -9,7 +9,6 @@ module EacCli
|
|
9
9
|
extend ::ActiveSupport::Concern
|
10
10
|
|
11
11
|
included do
|
12
|
-
singleton_class.prepend ClassMethods
|
13
12
|
prepend InstanceMethods
|
14
13
|
end
|
15
14
|
|
@@ -17,15 +16,10 @@ module EacCli
|
|
17
16
|
def check(klass)
|
18
17
|
return unless klass < ::EacRubyUtils::Console::DocoptRunner
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
end
|
19
|
+
::EacCli::Runner.alias_runner_class_methods(klass, '', 'eac_cli')
|
20
|
+
::EacCli::Runner.alias_runner_class_methods(klass, 'original', '')
|
23
21
|
|
24
|
-
|
25
|
-
def create(*context_args)
|
26
|
-
r = new(*context_args)
|
27
|
-
r.runner_context = ::EacCli::Runner::Context.new(*context_args)
|
28
|
-
r
|
22
|
+
klass.include(self)
|
29
23
|
end
|
30
24
|
end
|
31
25
|
|
data/lib/eac_cli/runner.rb
CHANGED
@@ -10,13 +10,39 @@ module EacCli
|
|
10
10
|
require_sub __FILE__
|
11
11
|
extend ::ActiveSupport::Concern
|
12
12
|
|
13
|
+
class << self
|
14
|
+
def alias_runner_class_methods(klass, from_suffix, to_suffix)
|
15
|
+
%i[create run].each do |method|
|
16
|
+
alias_class_method(klass, build_method_name(method, from_suffix),
|
17
|
+
build_method_name(method, to_suffix))
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def alias_class_method(klass, from, to)
|
24
|
+
sklass = klass.singleton_class
|
25
|
+
return unless sklass.method_defined?(from)
|
26
|
+
|
27
|
+
sklass.alias_method to, from
|
28
|
+
end
|
29
|
+
|
30
|
+
def build_method_name(name, suffix)
|
31
|
+
ss = suffix.if_present('') { |s| "#{s}_" }
|
32
|
+
"#{ss}#{name}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
the_module = self
|
13
37
|
included do
|
14
|
-
|
38
|
+
the_module.alias_runner_class_methods(self, '', 'original')
|
39
|
+
|
40
|
+
extend AfterClassMethods
|
15
41
|
include InstanceMethods
|
16
42
|
::EacCli::Docopt::RunnerExtension.check(self)
|
17
43
|
end
|
18
44
|
|
19
|
-
module
|
45
|
+
module AfterClassMethods
|
20
46
|
def create(*runner_context_args)
|
21
47
|
r = new
|
22
48
|
r.runner_context = ::EacCli::Runner::Context.new(*runner_context_args)
|
@@ -31,10 +57,14 @@ module EacCli
|
|
31
57
|
end
|
32
58
|
|
33
59
|
def runner_definition(&block)
|
34
|
-
@runner_definition ||=
|
60
|
+
@runner_definition ||= super_runner_definition
|
35
61
|
@runner_definition.instance_eval(&block) if block
|
36
62
|
@runner_definition
|
37
63
|
end
|
64
|
+
|
65
|
+
def super_runner_definition
|
66
|
+
superclass.try(:runner_definition).if_present(&:dup) || ::EacCli::Definition.new
|
67
|
+
end
|
38
68
|
end
|
39
69
|
|
40
70
|
module InstanceMethods
|
data/lib/eac_cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eac_ruby_utils
|