eac_ruby_base0 0.3.0 → 0.5.0
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/lib/eac_ruby_base0/application.rb +1 -0
- data/lib/eac_ruby_base0/core_ext.rb +4 -0
- data/lib/eac_ruby_base0/jobs_runner.rb +31 -0
- data/lib/eac_ruby_base0/patches.rb +4 -0
- data/lib/eac_ruby_base0/patches/class.rb +4 -0
- data/lib/eac_ruby_base0/patches/class/jobs_runner.rb +10 -0
- data/lib/eac_ruby_base0/patches/object.rb +5 -0
- data/lib/eac_ruby_base0/patches/object/runner_with.rb +5 -0
- data/lib/eac_ruby_base0/runner.rb +10 -7
- data/lib/eac_ruby_base0/runner/test_all.rb +4 -9
- data/lib/eac_ruby_base0/runner_with.rb +9 -0
- data/lib/eac_ruby_base0/runner_with/confirmation.rb +36 -0
- data/lib/eac_ruby_base0/runner_with/filesystem_traverser.rb +52 -0
- data/lib/eac_ruby_base0/version.rb +1 -1
- metadata +12 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 884925b5545fdce598cc740b36d02803ec9d1caf08d9962be132d41ccf4c01ec
|
4
|
+
data.tar.gz: b8d0b62cce06851ed131f0c0d1f4c6a2cb37c21676d02c20fd9ff5ad408fefa8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e75700fec5d167a0e89b186b79ea01440816ba498cdfa29aff6aa8e880586d3ad42ddef656062e1f09bac23d1fc377d8b571bdb6d754dbf985bb9e54e412a40d
|
7
|
+
data.tar.gz: cb6e05b4007d44e8489e9d9e0dbc473ac99a89cbb0becaa7981f3dc4e78a964d69526288bf83b1ce3497b28af27a930e59fe2bb774916cfd1b141cc6ca2f8cb1
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/console/speaker'
|
4
|
+
require 'eac_ruby_utils/settings_provider'
|
5
|
+
|
6
|
+
module EacRubyBase0
|
7
|
+
module JobsRunner
|
8
|
+
common_concern do
|
9
|
+
include ::EacRubyUtils::Console::Speaker
|
10
|
+
include ::EacRubyUtils::SettingsProvider
|
11
|
+
end
|
12
|
+
|
13
|
+
def run_job(job)
|
14
|
+
return unless run_job?(job)
|
15
|
+
|
16
|
+
infom "Running job \"#{job}\"..."
|
17
|
+
send(job)
|
18
|
+
end
|
19
|
+
|
20
|
+
def run_job?(job)
|
21
|
+
the_method = "run_#{job}?"
|
22
|
+
respond_to?(the_method, true) ? send(the_method) : true
|
23
|
+
end
|
24
|
+
|
25
|
+
def run_jobs(*jobs)
|
26
|
+
jobs = setting_value(:jobs) if jobs.empty?
|
27
|
+
jobs.each { |job| run_job(job) }
|
28
|
+
success 'Done'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,28 +1,31 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_cli/
|
3
|
+
require 'eac_cli/runner_with/help'
|
4
|
+
require 'eac_cli/runner_with/subcommands'
|
4
5
|
require 'eac_ruby_utils/core_ext'
|
5
6
|
|
6
7
|
module EacRubyBase0
|
7
8
|
module Runner
|
8
9
|
require_sub __FILE__
|
10
|
+
enable_console_speaker
|
9
11
|
common_concern do
|
10
|
-
include ::EacCli::
|
12
|
+
include ::EacCli::RunnerWith::Help
|
13
|
+
include ::EacCli::RunnerWith::Subcommands
|
11
14
|
runner_definition do
|
12
15
|
bool_opt '-q', '--quiet', 'Quiet mode.'
|
13
16
|
bool_opt '-I', '--no-input', 'Fail if a input is requested.'
|
14
17
|
subcommands
|
15
18
|
alt do
|
16
|
-
bool_opt '-V', '--version', 'Show version.'
|
19
|
+
bool_opt '-V', '--version', 'Show version.', usage: true, required: true
|
17
20
|
end
|
18
21
|
end
|
19
22
|
end
|
20
23
|
|
21
24
|
def run
|
22
25
|
on_speaker_node do |node|
|
23
|
-
node.stderr = ::StringIO.new if
|
24
|
-
node.stdin = FailIfRequestInput.new if
|
25
|
-
if
|
26
|
+
node.stderr = ::StringIO.new if parsed.quiet?
|
27
|
+
node.stdin = FailIfRequestInput.new if parsed.no_input?
|
28
|
+
if parsed.version?
|
26
29
|
show_version
|
27
30
|
else
|
28
31
|
run_with_subcommand
|
@@ -31,7 +34,7 @@ module EacRubyBase0
|
|
31
34
|
end
|
32
35
|
|
33
36
|
def application_version
|
34
|
-
|
37
|
+
runner_context.call(:application).version.to_s
|
35
38
|
end
|
36
39
|
|
37
40
|
def show_version
|
@@ -1,17 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_cli/
|
4
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
3
|
+
require 'eac_cli/core_ext'
|
6
4
|
require 'eac_ruby_gems_utils/tests/multiple'
|
7
5
|
|
8
6
|
module EacRubyBase0
|
9
7
|
module Runner
|
10
|
-
class TestAll
|
11
|
-
|
12
|
-
include ::EacCli::DefaultRunner
|
13
|
-
|
14
|
-
runner_definition do
|
8
|
+
class TestAll
|
9
|
+
runner_with :help do
|
15
10
|
desc 'Test core and local gems.'
|
16
11
|
end
|
17
12
|
|
@@ -20,7 +15,7 @@ module EacRubyBase0
|
|
20
15
|
end
|
21
16
|
|
22
17
|
def tests_uncached
|
23
|
-
::EacRubyGemsUtils::Tests::Multiple.new(
|
18
|
+
::EacRubyGemsUtils::Tests::Multiple.new(runner_context.call(:application).all_gems)
|
24
19
|
end
|
25
20
|
end
|
26
21
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/runner'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
require 'eac_ruby_utils/fs/traversable'
|
6
|
+
|
7
|
+
module EacRubyBase0
|
8
|
+
module RunnerWith
|
9
|
+
module Confirmation
|
10
|
+
DEFAULT_CONFIRM_QUESTION_TEXT = 'Confirm?'
|
11
|
+
|
12
|
+
common_concern do
|
13
|
+
include ::EacCli::Runner
|
14
|
+
enable_settings_provider
|
15
|
+
runner_definition do
|
16
|
+
bool_opt '--no', 'Deny confirmation without question.'
|
17
|
+
bool_opt '--yes', 'Accept confirmation without question.'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def confirm?(message = nil)
|
22
|
+
return false if parsed.no?
|
23
|
+
return true if parsed.yes?
|
24
|
+
|
25
|
+
request_input(
|
26
|
+
message || setting_value(:confirm_question_text, default: DEFAULT_CONFIRM_QUESTION_TEXT),
|
27
|
+
bool: true
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
def run_confirm(message = nil)
|
32
|
+
yield if confirm?(message)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/runner'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
require 'eac_ruby_utils/fs/traversable'
|
6
|
+
require 'eac_ruby_utils/settings_provider'
|
7
|
+
|
8
|
+
module EacRubyBase0
|
9
|
+
module RunnerWith
|
10
|
+
module FilesystemTraverser
|
11
|
+
DEFAULT_DEFAULT_TRAVERSER_RECURSIVE = false
|
12
|
+
|
13
|
+
common_concern do
|
14
|
+
include ::EacCli::Runner
|
15
|
+
include ::EacRubyUtils::Fs::Traversable
|
16
|
+
enable_settings_provider
|
17
|
+
include TopMethods
|
18
|
+
runner_definition do
|
19
|
+
bool_opt '-R', '--recursive', 'Recursive.'
|
20
|
+
bool_opt '--no-recursive', 'No recursive.'
|
21
|
+
pos_arg :paths, optional: true, repeat: true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
module TopMethods
|
26
|
+
def on_none_path_informed
|
27
|
+
infom 'Warning: none path informed'
|
28
|
+
end
|
29
|
+
|
30
|
+
def paths
|
31
|
+
parsed.paths.map(&:to_pathname)
|
32
|
+
end
|
33
|
+
|
34
|
+
def run_filesystem_traverser
|
35
|
+
if parsed.paths.any?
|
36
|
+
parsed.paths.each { |path| traverser_check_path(path) }
|
37
|
+
else
|
38
|
+
on_none_path_informed
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def traverser_recursive
|
43
|
+
return false if parsed.no_recursive?
|
44
|
+
return true if parsed.recursive?
|
45
|
+
|
46
|
+
setting_value(:default_traverser_recursive, required: false)
|
47
|
+
.if_not_nil(DEFAULT_DEFAULT_TRAVERSER_RECURSIVE)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_ruby_base0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eac_cli
|
@@ -86,8 +86,18 @@ extra_rdoc_files: []
|
|
86
86
|
files:
|
87
87
|
- lib/eac_ruby_base0.rb
|
88
88
|
- lib/eac_ruby_base0/application.rb
|
89
|
+
- lib/eac_ruby_base0/core_ext.rb
|
90
|
+
- lib/eac_ruby_base0/jobs_runner.rb
|
91
|
+
- lib/eac_ruby_base0/patches.rb
|
92
|
+
- lib/eac_ruby_base0/patches/class.rb
|
93
|
+
- lib/eac_ruby_base0/patches/class/jobs_runner.rb
|
94
|
+
- lib/eac_ruby_base0/patches/object.rb
|
95
|
+
- lib/eac_ruby_base0/patches/object/runner_with.rb
|
89
96
|
- lib/eac_ruby_base0/runner.rb
|
90
97
|
- lib/eac_ruby_base0/runner/test_all.rb
|
98
|
+
- lib/eac_ruby_base0/runner_with.rb
|
99
|
+
- lib/eac_ruby_base0/runner_with/confirmation.rb
|
100
|
+
- lib/eac_ruby_base0/runner_with/filesystem_traverser.rb
|
91
101
|
- lib/eac_ruby_base0/version.rb
|
92
102
|
homepage:
|
93
103
|
licenses: []
|