avm-tools 0.92.0 → 0.94.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/eac_asciidoctor_base0/apache_path.rb +10 -0
- data/lib/avm/eac_rails_base0/apache_path.rb +6 -38
- data/lib/avm/eac_webapp_base0/apache_host.rb +7 -31
- data/lib/avm/eac_webapp_base0/apache_path.rb +51 -0
- data/lib/avm/eac_webapp_base0/deploy.rb +12 -30
- data/lib/avm/eac_webapp_base0/instance.rb +5 -2
- data/lib/avm/eac_webapp_base0/instance/subcommand_parent.rb +24 -0
- data/lib/avm/eac_webapp_base0/runner/apache_host.rb +7 -10
- data/lib/avm/eac_webapp_base0/runner/apache_path.rb +40 -0
- data/lib/avm/eac_webapp_base0/runner/data.rb +7 -15
- data/lib/avm/eac_webapp_base0/runner/data/dump.rb +18 -24
- data/lib/avm/eac_webapp_base0/runner/data/load.rb +12 -23
- data/lib/avm/git/auto_commit/commit_info.rb +2 -1
- data/lib/avm/git/auto_commit/rules.rb +4 -4
- data/lib/avm/git/auto_commit/rules/new.rb +24 -0
- data/lib/avm/git/auto_commit/rules/nth.rb +8 -0
- data/lib/avm/git/auto_commit_path.rb +0 -21
- data/lib/avm/git/file_auto_fixup.rb +19 -3
- data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +7 -11
- data/lib/avm/tools/runner/git/auto_commit.rb +28 -28
- data/lib/avm/tools/runner/git/subrepo/fix.rb +1 -1
- data/lib/avm/tools/runner/local_project/ruby.rb +3 -7
- data/lib/avm/tools/runner/local_project/ruby/bundler.rb +4 -8
- data/lib/avm/tools/runner/local_project/ruby/bundler/gemfile_lock.rb +11 -14
- data/lib/avm/tools/runner/ruby.rb +6 -14
- data/lib/avm/tools/runner/ruby/gems.rb +4 -7
- data/lib/avm/tools/runner/ruby/gems/generate.rb +12 -23
- data/lib/avm/tools/runner/ruby/rubocop.rb +1 -1
- data/lib/avm/tools/version.rb +1 -1
- data/template/avm/eac_rails_base0/apache_path/extra_content.conf +5 -0
- data/template/avm/eac_webapp_base0/apache_path/default.conf +9 -0
- data/vendor/avm-apps/Gemfile +5 -0
- data/vendor/avm-apps/avm-apps.gemspec +18 -0
- data/vendor/avm-apps/lib/avm/apps.rb +9 -0
- data/vendor/avm-apps/lib/avm/apps/jobs.rb +11 -0
- data/vendor/avm-apps/lib/avm/apps/jobs/base.rb +64 -0
- data/vendor/avm-apps/lib/avm/apps/jobs/variables_source.rb +24 -0
- data/vendor/avm-apps/lib/avm/apps/version.rb +7 -0
- data/vendor/avm-apps/spec/rubocop_spec.rb +7 -0
- data/vendor/avm-apps/spec/spec_helper.rb +100 -0
- data/vendor/eac_cli/lib/eac_cli/core_ext.rb +2 -0
- data/vendor/eac_cli/lib/eac_cli/definition/alternative.rb +4 -7
- data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +20 -9
- data/vendor/eac_cli/lib/eac_cli/definition/base_option/initialize_args_parser.rb +47 -0
- data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +15 -1
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +4 -2
- data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +2 -1
- data/vendor/eac_cli/lib/eac_cli/runner/context.rb +2 -1
- data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +8 -1
- data/vendor/eac_cli/lib/eac_cli/runner_with_set.rb +50 -0
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +4 -0
- data/vendor/eac_git/eac_git.gemspec +1 -0
- data/vendor/eac_git/lib/eac_git/local.rb +4 -0
- data/vendor/eac_git/lib/eac_git/local/commit.rb +53 -0
- data/vendor/eac_git/lib/eac_git/local/commit/changed_file.rb +46 -0
- data/vendor/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +32 -0
- data/vendor/eac_git/lib/eac_git/local/dirty_files.rb +2 -3
- data/vendor/eac_git/lib/eac_git/rspec.rb +6 -1
- data/{lib/avm/git/spec_helper.rb → vendor/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb} +16 -13
- data/vendor/eac_git/lib/eac_git/version.rb +1 -1
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +13 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +1 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +1 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +1 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +2 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
- data/vendor/eac_git/spec/lib/eac_git/local/commit_spec.rb +58 -0
- data/vendor/eac_git/spec/spec_helper.rb +1 -0
- data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +3 -3
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/core_ext.rb +4 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +31 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches.rb +4 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches/class.rb +4 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches/class/jobs_runner.rb +10 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches/object.rb +5 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches/object/runner_with.rb +5 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with.rb +9 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +36 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/filesystem_traverser.rb +52 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/output.rb +58 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
- data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/confirmation_spec.rb +42 -0
- data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/output_spec.rb +81 -0
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/base.rb +7 -10
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple.rb +9 -2
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/eac_ruby_utils.gemspec +1 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/logs.rb +63 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +9 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +3 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +8 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/class/settings_provider.rb +10 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +4 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_nil.rb +17 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +4 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/required_zone.rb +11 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +10 -29
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +69 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +8 -0
- metadata +55 -9
- data/lib/avm/tools/runner/eac_rails_base0/apache_path.rb +0 -38
- data/lib/avm/tools/runner/git/auto_fixup.rb +0 -53
- data/template/avm/eac_rails_base0/apache_path/default.conf +0 -13
- data/vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb +0 -30
- data/vendor/eac_cli/spec/lib/eac_cli/runner_with/output_file_spec.rb +0 -53
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_git/local/commit/diff_tree_line'
|
4
|
+
|
5
|
+
RSpec.describe ::EacGit::Local::Commit::DiffTreeLine, git: true do
|
6
|
+
include_examples 'source_target_fixtures', __FILE__ do
|
7
|
+
def source_data(source_file)
|
8
|
+
::File.read(source_file).each_line.map do |line|
|
9
|
+
described_class.new(line).fields
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
:000000 100644 0000000000000000000000000000000000000000 f380aec0bd8dd777edac43b11636e46cad04273a A nomes.txt
|
@@ -0,0 +1 @@
|
|
1
|
+
:100644 100644 40bcdecb4214cd8a3fcf96cd25a2beb87e7e7cd8 4a30dfae816b984f05cfb594e0d5958bb8c387ae M nomes.txt
|
@@ -0,0 +1 @@
|
|
1
|
+
:100644 000000 10728718a2915256ab162f1e05178ebff9efa6ce 0000000000000000000000000000000000000000 D nomes3.txt
|
data/vendor/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
---
|
2
|
+
- src_mode: '100644'
|
3
|
+
dst_mode: '000000'
|
4
|
+
src_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
|
5
|
+
dst_sha1: '0000000000000000000000000000000000000000'
|
6
|
+
status: D
|
7
|
+
path: nomes.txt
|
8
|
+
- src_mode: '000000'
|
9
|
+
dst_mode: '100644'
|
10
|
+
src_sha1: '0000000000000000000000000000000000000000'
|
11
|
+
dst_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
|
12
|
+
status: A
|
13
|
+
path: nomes2.txt
|
@@ -0,0 +1,13 @@
|
|
1
|
+
---
|
2
|
+
- src_mode: '100644'
|
3
|
+
dst_mode: '000000'
|
4
|
+
src_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
|
5
|
+
dst_sha1: '0000000000000000000000000000000000000000'
|
6
|
+
status: D
|
7
|
+
path: nomes2.txt
|
8
|
+
- src_mode: '000000'
|
9
|
+
dst_mode: '100644'
|
10
|
+
src_sha1: '0000000000000000000000000000000000000000'
|
11
|
+
dst_sha1: 10728718a2915256ab162f1e05178ebff9efa6ce
|
12
|
+
status: A
|
13
|
+
path: nomes3.txt
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_git/local'
|
4
|
+
require 'eac_git/local/commit'
|
5
|
+
require 'tmpdir'
|
6
|
+
|
7
|
+
RSpec.describe ::EacGit::Local::Commit, git: true do
|
8
|
+
let(:git) { stubbed_git_local_repo }
|
9
|
+
|
10
|
+
let(:first_commit_sha1) do
|
11
|
+
git.file('a.txt').write('AAA')
|
12
|
+
git.file('b.txt').write('BBB')
|
13
|
+
git.command('add', '.').execute!
|
14
|
+
git.command('commit', '-m', 'First commit.').execute!
|
15
|
+
git.rev_parse('HEAD')
|
16
|
+
end
|
17
|
+
|
18
|
+
let(:second_commit_sha1) do
|
19
|
+
first_commit_sha1
|
20
|
+
git.file('a.txt').write('AAAAA')
|
21
|
+
git.file('b.txt').delete
|
22
|
+
git.file('ç.txt').write('CCC')
|
23
|
+
git.command('add', '.').execute!
|
24
|
+
git.command('commit', '-m', 'Second commit.').execute!
|
25
|
+
git.rev_parse('HEAD')
|
26
|
+
end
|
27
|
+
|
28
|
+
let(:first_commit) { described_class.new(git, first_commit_sha1) }
|
29
|
+
let(:second_commit) { described_class.new(git, second_commit_sha1) }
|
30
|
+
|
31
|
+
describe '#changed_files' do
|
32
|
+
it { expect(first_commit.changed_files.count).to eq(2) }
|
33
|
+
it { expect(second_commit.changed_files.count).to eq(3) }
|
34
|
+
|
35
|
+
{
|
36
|
+
'first_commit' => %w[a.txt b.txt],
|
37
|
+
'second_commit' => %w[a.txt b.txt ç.txt]
|
38
|
+
}.each do |commit_name, filenames|
|
39
|
+
filenames.each do |filename|
|
40
|
+
it "find file \"#{filename}\" in commit \"#{commit_name}\"" do
|
41
|
+
commit = send(commit_name)
|
42
|
+
file = commit.changed_files.find { |f| f.path == filename }
|
43
|
+
expect(file).to be_a(::EacGit::Local::Commit::ChangedFile)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe '#changed_files_size' do
|
50
|
+
it { expect(first_commit.changed_files_size).to eq(6) }
|
51
|
+
it { expect(second_commit.changed_files_size).to eq(8) }
|
52
|
+
end
|
53
|
+
|
54
|
+
describe '#root_child?' do
|
55
|
+
it { expect(first_commit.root_child?).to eq(true) }
|
56
|
+
it { expect(second_commit.root_child?).to eq(false) }
|
57
|
+
end
|
58
|
+
end
|
@@ -12,9 +12,9 @@ Gem::Specification.new do |s|
|
|
12
12
|
|
13
13
|
s.files = Dir['{lib}/**/*']
|
14
14
|
|
15
|
-
s.add_dependency 'eac_cli', '~> 0.
|
16
|
-
s.add_dependency 'eac_ruby_gems_utils', '~> 0.
|
17
|
-
s.add_dependency 'eac_ruby_utils', '~> 0.
|
15
|
+
s.add_dependency 'eac_cli', '~> 0.15', '>= 0.15.1'
|
16
|
+
s.add_dependency 'eac_ruby_gems_utils', '~> 0.8'
|
17
|
+
s.add_dependency 'eac_ruby_utils', '~> 0.60'
|
18
18
|
|
19
19
|
s.add_development_dependency 'eac_ruby_gem_support', '~> 0.1', '>= 0.1.2'
|
20
20
|
end
|
@@ -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
|
@@ -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
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/runner'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
require 'eac_ruby_utils/abstract_methods'
|
6
|
+
|
7
|
+
module EacRubyBase0
|
8
|
+
module RunnerWith
|
9
|
+
module Output
|
10
|
+
STDOUT_OPTION = '-'
|
11
|
+
DEFAULT_FILE_OPTION = '+'
|
12
|
+
DEFAULT_DEFAULT_OUTPUT_OPTION = STDOUT_OPTION
|
13
|
+
DEFAULT_DEFAULT_FILE_TO_OUTPUT = 'output'
|
14
|
+
|
15
|
+
common_concern do
|
16
|
+
enable_abstract_methods
|
17
|
+
enable_settings_provider
|
18
|
+
include ::EacCli::Runner
|
19
|
+
|
20
|
+
abstract_methods :output_content
|
21
|
+
|
22
|
+
runner_definition do
|
23
|
+
arg_opt '-o', '--output', 'Output to file.'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def run_output
|
28
|
+
file = file_to_output
|
29
|
+
if file
|
30
|
+
file.to_pathname.write(output_content)
|
31
|
+
else
|
32
|
+
$stdout.write(output_content)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def output_option
|
37
|
+
parsed.output || default_output_option_value
|
38
|
+
end
|
39
|
+
|
40
|
+
def file_to_output
|
41
|
+
case output_option
|
42
|
+
when STDOUT_OPTION then nil
|
43
|
+
when DEFAULT_FILE_OPTION then default_file_to_output_value
|
44
|
+
else output_option
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def default_output_option_value
|
49
|
+
setting_value(:default_output_option,
|
50
|
+
default: DEFAULT_DEFAULT_OUTPUT_OPTION)
|
51
|
+
end
|
52
|
+
|
53
|
+
def default_file_to_output_value
|
54
|
+
setting_value(:default_file_to_output, default: DEFAULT_DEFAULT_FILE_TO_OUTPUT)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_base0/runner_with/confirmation'
|
4
|
+
|
5
|
+
::RSpec.describe ::EacRubyBase0::RunnerWith::Confirmation do
|
6
|
+
let(:runner) do
|
7
|
+
the_module = described_class
|
8
|
+
Class.new do
|
9
|
+
include the_module
|
10
|
+
|
11
|
+
runner_definition do
|
12
|
+
desc 'A stub runner.'
|
13
|
+
end
|
14
|
+
|
15
|
+
def run
|
16
|
+
if confirm?
|
17
|
+
::Kernel.puts 'Accepted'
|
18
|
+
else
|
19
|
+
::Kernel.puts 'Denied'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
let(:instance) { runner.create(argv: runner_argv) }
|
26
|
+
|
27
|
+
context 'without --no option' do
|
28
|
+
let(:runner_argv) { %w[--no] }
|
29
|
+
|
30
|
+
it do
|
31
|
+
expect { instance.run }.to output("Denied\n").to_stdout_from_any_process
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'without --yes option' do
|
36
|
+
let(:runner_argv) { %w[--yes] }
|
37
|
+
|
38
|
+
it do
|
39
|
+
expect { instance.run }.to output("Accepted\n").to_stdout_from_any_process
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|