avm-tools 0.87.0 → 0.91.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/avm/{eac_writings_base1.rb → eac_asciidoctor_base0.rb} +1 -1
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/apache_host.rb +1 -1
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/build.rb +5 -3
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/build/file.rb +4 -4
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/deploy.rb +6 -6
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/instance.rb +1 -1
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/project.rb +1 -1
- data/lib/avm/eac_rails_base1/runner/log.rb +43 -0
- data/lib/avm/eac_rails_base1/runner_with/bundle.rb +2 -32
- data/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +47 -0
- data/lib/avm/eac_webapp_base0/deploy.rb +16 -4
- data/lib/avm/eac_webapp_base0/deploy/appended_directories.rb +1 -1
- data/lib/avm/eac_webapp_base0/deploy/git_info.rb +1 -1
- data/lib/avm/eac_webapp_base0/instance.rb +2 -0
- data/lib/avm/eac_webapp_base0/runner/deploy.rb +13 -21
- data/lib/avm/executables.rb +1 -1
- data/lib/avm/instances/base/auto_values/filesystem.rb +12 -0
- data/lib/avm/instances/runner.rb +3 -5
- data/lib/avm/tools/runner/{eac_writings_base1.rb → eac_asciidoctor_base0.rb} +2 -2
- data/lib/avm/tools/runner/eac_webapp_base0.rb +14 -0
- data/lib/avm/tools/runner/git/deploy.rb +1 -1
- data/lib/avm/tools/runner/instance.rb +3 -6
- data/lib/avm/tools/runner/instance/info.rb +4 -7
- data/lib/avm/tools/runner/local_project/{eac_writings_base1.rb → eac_asciidoctor_base0.rb} +2 -2
- data/lib/avm/tools/runner/local_project/{eac_writings_base1 → eac_asciidoctor_base0}/build.rb +5 -9
- data/lib/avm/tools/version.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -48
- data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +29 -0
- data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +31 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +42 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb +4 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +8 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb +17 -0
- metadata +41 -14
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/default_time_zone_set.rb +0 -5
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/local_time_zone.rb +0 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5f5aa5e8fb2a459dbf2a43a6db6c3c3e2010eafeb38f22986c2ce25f7ed59fe8
|
|
4
|
+
data.tar.gz: a277ee83c3e5e91ad98d6427294b82f2a3183a3cf7f65e2cecd924bd8f179c74
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cfdf75803e0dbb82f59c7b385d8eb2947400ad05cc5e92acae171a3312e939808ec4d8b8d23423fde9c30176a21b48d79615cfd3ff403cf91a88361d5a926bbd
|
|
7
|
+
data.tar.gz: fb6d6065157b1668e96cc612c068cee618901bdf7003b30569c85c7344cd6628da679376801804d30bea0c9ce7f62f0e773501e25942a24ca6a517acbda07c6f
|
|
@@ -4,7 +4,7 @@ require 'eac_ruby_utils/core_ext'
|
|
|
4
4
|
require 'eac_ruby_utils/fs/clearable_directory'
|
|
5
5
|
|
|
6
6
|
module Avm
|
|
7
|
-
module
|
|
7
|
+
module EacAsciidoctorBase0
|
|
8
8
|
class Build
|
|
9
9
|
require_sub __FILE__
|
|
10
10
|
enable_console_speaker
|
|
@@ -15,6 +15,8 @@ module Avm
|
|
|
15
15
|
self.options = self.class.lists.option.hash_keys_validate!(options.symbolize_keys)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
+
SOURCE_EXTNAMES = %w[.adoc .asc].freeze
|
|
19
|
+
|
|
18
20
|
def run
|
|
19
21
|
infov 'Files to build', source_files.count
|
|
20
22
|
target_directory.clear
|
|
@@ -34,9 +36,9 @@ module Avm
|
|
|
34
36
|
def source_files_uncached
|
|
35
37
|
r = []
|
|
36
38
|
project.root.children.each do |child|
|
|
37
|
-
next unless child.extname
|
|
39
|
+
next unless SOURCE_EXTNAMES.include?(child.extname)
|
|
38
40
|
|
|
39
|
-
r << ::Avm::
|
|
41
|
+
r << ::Avm::EacAsciidoctorBase0::Build::File.new(self, child.basename)
|
|
40
42
|
end
|
|
41
43
|
r
|
|
42
44
|
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'asciidoctor'
|
|
4
4
|
|
|
5
5
|
module Avm
|
|
6
|
-
module
|
|
6
|
+
module EacAsciidoctorBase0
|
|
7
7
|
class Build
|
|
8
8
|
class File
|
|
9
9
|
enable_console_speaker
|
|
@@ -11,8 +11,8 @@ module Avm
|
|
|
11
11
|
|
|
12
12
|
def run
|
|
13
13
|
infov 'Building', subpath
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
::Asciidoctor.convert_file source_path.to_path,
|
|
15
|
+
to_file: target_path.to_path, safe: :unsafe, mkdirs: true
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def source_path
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'avm/eac_webapp_base0/deploy'
|
|
4
|
-
require 'avm/
|
|
5
|
-
require 'avm/
|
|
4
|
+
require 'avm/eac_asciidoctor_base0/project'
|
|
5
|
+
require 'avm/eac_asciidoctor_base0/build'
|
|
6
6
|
|
|
7
7
|
module Avm
|
|
8
|
-
module
|
|
8
|
+
module EacAsciidoctorBase0
|
|
9
9
|
class Deploy < ::Avm::EacWebappBase0::Deploy
|
|
10
10
|
def build_content
|
|
11
|
-
::Avm::
|
|
11
|
+
::Avm::EacAsciidoctorBase0::Build.new(
|
|
12
12
|
project,
|
|
13
|
-
::Avm::
|
|
13
|
+
::Avm::EacAsciidoctorBase0::Build::OPTION_TARGET_DIRECTORY => build_dir
|
|
14
14
|
).run
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
private
|
|
18
18
|
|
|
19
19
|
def project_uncached
|
|
20
|
-
::Avm::
|
|
20
|
+
::Avm::EacAsciidoctorBase0::Project.new(
|
|
21
21
|
instance.source_instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)
|
|
22
22
|
)
|
|
23
23
|
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_rails_base1/runner_with/rails_environment'
|
|
4
|
+
require 'avm/eac_webapp_base0/runner'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module EacRailsBase1
|
|
8
|
+
class Runner < ::Avm::EacWebappBase0::Runner
|
|
9
|
+
class Log
|
|
10
|
+
runner_with :help, ::Avm::EacRailsBase1::RunnerWith::RailsEnvironment do
|
|
11
|
+
desc 'Read application\'s log.'
|
|
12
|
+
bool_opt '-f', '--follow', 'Output appended data as the log grows.'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def run
|
|
16
|
+
start_banner
|
|
17
|
+
tail_command.system
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
|
|
22
|
+
def log_path
|
|
23
|
+
::File.join(rails_instance.read_entry('fs_path'), 'log', "#{rails_environment}.log")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def start_banner
|
|
27
|
+
infov 'Environment', rails_environment
|
|
28
|
+
infov 'Log path', log_path
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def tail_command
|
|
32
|
+
rails_instance.host_env.command(*tail_command_args)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def tail_command_args
|
|
36
|
+
r = %w[tail]
|
|
37
|
+
r << '--follow' if parsed.follow?
|
|
38
|
+
r + [log_path]
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'avm/eac_rails_base1/instance'
|
|
4
|
+
require 'avm/eac_rails_base1/runner_with/rails_environment'
|
|
4
5
|
require 'eac_cli/runner'
|
|
5
6
|
|
|
6
7
|
module Avm
|
|
7
8
|
module EacRailsBase1
|
|
8
9
|
module RunnerWith
|
|
9
10
|
module Bundle
|
|
10
|
-
DEFAULT_RAILS_ENVIRONMENT_CONSTANT = 'DEFAULT_RAILS_ENVIRONMENT'
|
|
11
|
-
|
|
12
11
|
common_concern do
|
|
13
|
-
include ::
|
|
14
|
-
|
|
15
|
-
runner_definition do
|
|
16
|
-
arg_opt '-e', '--environment', 'Specifies the environment for the runner to operate' \
|
|
17
|
-
' (test/development/production). Default: "development".'
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
module ClassMethods
|
|
22
|
-
def default_rails_environment
|
|
23
|
-
const_get(DEFAULT_RAILS_ENVIRONMENT_CONSTANT)
|
|
24
|
-
rescue ::NameError
|
|
25
|
-
::Avm::EacRailsBase1::Instance::DEFAULT_RAILS_ENVIRONMENT
|
|
26
|
-
end
|
|
12
|
+
include ::Avm::EacRailsBase1::RunnerWith::RailsEnvironment
|
|
27
13
|
end
|
|
28
14
|
|
|
29
15
|
def bundle_command
|
|
@@ -35,22 +21,6 @@ module Avm
|
|
|
35
21
|
infov 'Rails environment', rails_environment
|
|
36
22
|
bundle_command.system!
|
|
37
23
|
end
|
|
38
|
-
|
|
39
|
-
def default_rails_environment
|
|
40
|
-
self.class.default_rails_environment
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def rails_instance
|
|
44
|
-
if respond_to?(:runner_context)
|
|
45
|
-
runner_context.call(:instance)
|
|
46
|
-
else
|
|
47
|
-
context(:instance)
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def rails_environment
|
|
52
|
-
parsed.environment.presence || default_rails_environment
|
|
53
|
-
end
|
|
54
24
|
end
|
|
55
25
|
end
|
|
56
26
|
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_rails_base1/instance'
|
|
4
|
+
require 'eac_cli/runner'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module EacRailsBase1
|
|
8
|
+
module RunnerWith
|
|
9
|
+
module RailsEnvironment
|
|
10
|
+
DEFAULT_RAILS_ENVIRONMENT_CONSTANT = 'DEFAULT_RAILS_ENVIRONMENT'
|
|
11
|
+
|
|
12
|
+
common_concern do
|
|
13
|
+
include ::EacCli::Runner
|
|
14
|
+
|
|
15
|
+
runner_definition do
|
|
16
|
+
arg_opt '-e', '--environment', 'Specifies the environment for the runner to operate' \
|
|
17
|
+
' (test/development/production). Default: "development".'
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
module ClassMethods
|
|
22
|
+
def default_rails_environment
|
|
23
|
+
const_get(DEFAULT_RAILS_ENVIRONMENT_CONSTANT)
|
|
24
|
+
rescue ::NameError
|
|
25
|
+
::Avm::EacRailsBase1::Instance::DEFAULT_RAILS_ENVIRONMENT
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def default_rails_environment
|
|
30
|
+
self.class.default_rails_environment
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def rails_environment
|
|
34
|
+
parsed.environment.presence || default_rails_environment
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def rails_instance
|
|
38
|
+
if respond_to?(:runner_context)
|
|
39
|
+
runner_context.call(:instance)
|
|
40
|
+
else
|
|
41
|
+
context(:instance)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -17,10 +17,16 @@ module Avm
|
|
|
17
17
|
|
|
18
18
|
enable_console_speaker
|
|
19
19
|
enable_simple_cache
|
|
20
|
-
|
|
20
|
+
enable_listable
|
|
21
|
+
lists.add_symbol :option, :appended_directories, :no_request_test, :reference
|
|
22
|
+
common_constructor :instance, :options, default: [{}] do
|
|
23
|
+
self.options = ::Avm::EacWebappBase0::Deploy.lists.option
|
|
24
|
+
.hash_keys_validate!(options.symbolize_keys)
|
|
25
|
+
end
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
REQUEST_TEST_JOB = 'request_test'
|
|
28
|
+
JOBS = (%w[create_build_dir build_content append_instance_content write_on_target
|
|
29
|
+
setup_files_units assert_instance_branch] + [REQUEST_TEST_JOB]).freeze
|
|
24
30
|
define_callbacks(*JOBS)
|
|
25
31
|
|
|
26
32
|
def run
|
|
@@ -67,8 +73,14 @@ module Avm
|
|
|
67
73
|
|
|
68
74
|
private
|
|
69
75
|
|
|
76
|
+
def jobs
|
|
77
|
+
r = JOBS.dup
|
|
78
|
+
r.delete(REQUEST_TEST_JOB) if options[OPTION_NO_REQUEST_TEST]
|
|
79
|
+
r
|
|
80
|
+
end
|
|
81
|
+
|
|
70
82
|
def run_jobs
|
|
71
|
-
|
|
83
|
+
jobs.each do |job|
|
|
72
84
|
run_callbacks job do
|
|
73
85
|
send(job)
|
|
74
86
|
end
|
|
@@ -2,34 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
require 'avm/instances/runner'
|
|
4
4
|
require 'avm/path_string'
|
|
5
|
-
require '
|
|
6
|
-
require 'eac_ruby_utils/console/speaker'
|
|
5
|
+
require 'eac_cli/core_ext'
|
|
7
6
|
|
|
8
7
|
module Avm
|
|
9
8
|
module EacWebappBase0
|
|
10
9
|
class Runner < ::Avm::Instances::Runner
|
|
11
|
-
class Deploy
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
__PROGRAM__ [options]
|
|
19
|
-
__PROGRAM__ -h | --help
|
|
20
|
-
|
|
21
|
-
Options:
|
|
22
|
-
-h --help Show this screen.
|
|
23
|
-
-r --reference=<git-reference> Git reference to deploy.
|
|
24
|
-
-a --append-dirs=<append-dirs> Append directories to deploy (List separated by ":").
|
|
25
|
-
DOCOPT
|
|
10
|
+
class Deploy
|
|
11
|
+
runner_with :help do
|
|
12
|
+
desc 'Deploy for instance.'
|
|
13
|
+
arg_opt '-r', '--reference', 'Git reference to deploy.'
|
|
14
|
+
arg_opt '-a', '--append-dirs', 'Append directories to deploy (List separated by ":").'
|
|
15
|
+
bool_opt '-T', '--no-request-test', 'Do not test web interface after deploy.'
|
|
16
|
+
end
|
|
26
17
|
|
|
27
18
|
def deploy_class
|
|
28
|
-
|
|
19
|
+
runner_context.call(:stereotype_module).const_get('Deploy')
|
|
29
20
|
end
|
|
30
21
|
|
|
31
22
|
def run
|
|
32
|
-
result = deploy_class.new(
|
|
23
|
+
result = deploy_class.new(runner_context.call(:instance), deploy_options).run
|
|
33
24
|
if result.error?
|
|
34
25
|
fatal_error result.to_s
|
|
35
26
|
else
|
|
@@ -38,8 +29,9 @@ module Avm
|
|
|
38
29
|
end
|
|
39
30
|
|
|
40
31
|
def deploy_options
|
|
41
|
-
{ reference:
|
|
42
|
-
appended_directories: ::Avm::PathString.paths(
|
|
32
|
+
{ reference: parsed.reference,
|
|
33
|
+
appended_directories: ::Avm::PathString.paths(parsed.append_dirs),
|
|
34
|
+
no_request_test: parsed.no_request_test? }
|
|
43
35
|
end
|
|
44
36
|
end
|
|
45
37
|
end
|
data/lib/avm/executables.rb
CHANGED
|
@@ -14,7 +14,7 @@ module Avm
|
|
|
14
14
|
|
|
15
15
|
private
|
|
16
16
|
|
|
17
|
-
%w[
|
|
17
|
+
%w[docker file git latex php-cs-fixer tidy yapf xdg-open].each do |program|
|
|
18
18
|
define_method(program.underscore + '_uncached') do
|
|
19
19
|
env.executable(program, '--version')
|
|
20
20
|
end
|
|
@@ -20,12 +20,24 @@ module Avm
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def auto_fs_url
|
|
23
|
+
auto_fs_url_with_ssh || auto_fs_url_without_ssh
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def auto_fs_url_with_ssh
|
|
23
27
|
read_entry_optional('ssh.url').if_present do |ssh_url|
|
|
24
28
|
read_entry_optional('fs_path').if_present do |fs_path|
|
|
25
29
|
"#{ssh_url}#{fs_path}"
|
|
26
30
|
end
|
|
27
31
|
end
|
|
28
32
|
end
|
|
33
|
+
|
|
34
|
+
def auto_fs_url_without_ssh
|
|
35
|
+
return nil if read_entry_optional('ssh.url').present?
|
|
36
|
+
|
|
37
|
+
read_entry_optional('fs_path').if_present do |fs_path|
|
|
38
|
+
"file://#{fs_path}"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
29
41
|
end
|
|
30
42
|
end
|
|
31
43
|
end
|
data/lib/avm/instances/runner.rb
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'eac_cli/core_ext'
|
|
4
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
|
5
4
|
|
|
6
5
|
module Avm
|
|
7
6
|
module Instances
|
|
8
|
-
class Runner
|
|
7
|
+
class Runner
|
|
9
8
|
class << self
|
|
10
9
|
def instance_class
|
|
11
10
|
::Avm.const_get(stereotype_name).const_get('Instance')
|
|
@@ -20,9 +19,8 @@ module Avm
|
|
|
20
19
|
end
|
|
21
20
|
end
|
|
22
21
|
|
|
23
|
-
runner_with
|
|
24
22
|
description = "Utilities for #{stereotype_name} instances."
|
|
25
|
-
|
|
23
|
+
runner_with :help, :subcommands do
|
|
26
24
|
desc description
|
|
27
25
|
pos_arg 'instance-id'
|
|
28
26
|
subcommands
|
|
@@ -33,7 +31,7 @@ module Avm
|
|
|
33
31
|
private
|
|
34
32
|
|
|
35
33
|
def instance_uncached
|
|
36
|
-
self.class.instance_class.by_id(
|
|
34
|
+
self.class.instance_class.by_id(parsed.instance_id)
|
|
37
35
|
end
|
|
38
36
|
end
|
|
39
37
|
end
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'avm/eac_webapp_base0/runner'
|
|
4
|
-
require 'avm/
|
|
4
|
+
require 'avm/eac_asciidoctor_base0'
|
|
5
5
|
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
6
|
|
|
7
7
|
module Avm
|
|
8
8
|
module Tools
|
|
9
9
|
class Runner
|
|
10
|
-
class
|
|
10
|
+
class EacAsciidoctorBase0 < ::Avm::EacWebappBase0::Runner
|
|
11
11
|
require_sub __FILE__
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_webapp_base0/runner'
|
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module Tools
|
|
8
|
+
class Runner
|
|
9
|
+
class EacWebappBase0 < ::Avm::EacWebappBase0::Runner
|
|
10
|
+
require_sub __FILE__
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -15,7 +15,7 @@ module Avm
|
|
|
15
15
|
arg_opt '-a', '--append-dirs', 'Append directories to deploy (List separated by ":").'
|
|
16
16
|
arg_opt '-i', '--instance', 'Read entries from instance with id=<instance-id>.'
|
|
17
17
|
arg_opt '-r', '--reference', "Reference (default: #{DEFAULT_REFERENCE})."
|
|
18
|
-
pos_arg :target_url
|
|
18
|
+
pos_arg :target_url, optional: true
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def run
|
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
require 'avm/instances/base'
|
|
4
4
|
require 'eac_cli/core_ext'
|
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
5
|
|
|
7
6
|
module Avm
|
|
8
7
|
module Tools
|
|
9
8
|
class Runner
|
|
10
|
-
class Instance
|
|
9
|
+
class Instance
|
|
11
10
|
require_sub __FILE__
|
|
12
|
-
runner_with
|
|
13
|
-
|
|
14
|
-
runner_definition do
|
|
11
|
+
runner_with :help, :subcommands do
|
|
15
12
|
desc 'Utilities for generic instances.'
|
|
16
13
|
pos_arg :instance_id
|
|
17
14
|
subcommands
|
|
@@ -20,7 +17,7 @@ module Avm
|
|
|
20
17
|
private
|
|
21
18
|
|
|
22
19
|
def instance_uncached
|
|
23
|
-
::Avm::Instances::Base.by_id(
|
|
20
|
+
::Avm::Instances::Base.by_id(parsed.instance_id)
|
|
24
21
|
end
|
|
25
22
|
end
|
|
26
23
|
end
|
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
require 'avm/instances/entry_keys'
|
|
4
4
|
require 'eac_cli/core_ext'
|
|
5
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
|
6
5
|
|
|
7
6
|
module Avm
|
|
8
7
|
module Tools
|
|
9
8
|
class Runner
|
|
10
|
-
class Instance
|
|
11
|
-
class Info
|
|
12
|
-
runner_with
|
|
13
|
-
|
|
14
|
-
runner_definition do
|
|
9
|
+
class Instance
|
|
10
|
+
class Info
|
|
11
|
+
runner_with :help do
|
|
15
12
|
desc 'Show info about a instance.'
|
|
16
13
|
end
|
|
17
14
|
|
|
@@ -35,7 +32,7 @@ module Avm
|
|
|
35
32
|
end
|
|
36
33
|
|
|
37
34
|
def instance
|
|
38
|
-
|
|
35
|
+
runner_context.call(:instance)
|
|
39
36
|
end
|
|
40
37
|
end
|
|
41
38
|
end
|
|
@@ -7,11 +7,11 @@ module Avm
|
|
|
7
7
|
module Tools
|
|
8
8
|
class Runner
|
|
9
9
|
class LocalProject
|
|
10
|
-
class
|
|
10
|
+
class EacAsciidoctorBase0
|
|
11
11
|
require_sub __FILE__
|
|
12
12
|
|
|
13
13
|
runner_with :help, :subcommands do
|
|
14
|
-
desc '
|
|
14
|
+
desc 'EacAsciidoctorBase0 utitilies for local projects.'
|
|
15
15
|
subcommands
|
|
16
16
|
end
|
|
17
17
|
|
data/lib/avm/tools/runner/local_project/{eac_writings_base1 → eac_asciidoctor_base0}/build.rb
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'avm/
|
|
4
|
-
require 'avm/
|
|
3
|
+
require 'avm/eac_asciidoctor_base0/build'
|
|
4
|
+
require 'avm/eac_asciidoctor_base0/project'
|
|
5
5
|
require 'eac_cli/core_ext'
|
|
6
6
|
require 'eac_ruby_utils/console/docopt_runner'
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@ module Avm
|
|
|
9
9
|
module Tools
|
|
10
10
|
class Runner
|
|
11
11
|
class LocalProject
|
|
12
|
-
class
|
|
12
|
+
class EacAsciidoctorBase0
|
|
13
13
|
class Build
|
|
14
14
|
runner_with :help do
|
|
15
15
|
desc 'Build the project'
|
|
@@ -24,8 +24,8 @@ module Avm
|
|
|
24
24
|
private
|
|
25
25
|
|
|
26
26
|
def build_uncached
|
|
27
|
-
::Avm::
|
|
28
|
-
|
|
27
|
+
::Avm::EacAsciidoctorBase0::Build.new(runner_context.call(:project),
|
|
28
|
+
target_directory: parsed.target_dir)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def default_target_directory
|
|
@@ -36,10 +36,6 @@ module Avm
|
|
|
36
36
|
runner_context.call(:project_banner)
|
|
37
37
|
infov 'Target directory', build.target_directory
|
|
38
38
|
end
|
|
39
|
-
#
|
|
40
|
-
# def target_directory_uncached
|
|
41
|
-
# .if_present(default_target_directory).to_pathname
|
|
42
|
-
# end
|
|
43
39
|
end
|
|
44
40
|
end
|
|
45
41
|
end
|
data/lib/avm/tools/version.rb
CHANGED
|
@@ -47,53 +47,5 @@ module EacCli
|
|
|
47
47
|
include ActiveSupport::Callbacks
|
|
48
48
|
define_callbacks :run
|
|
49
49
|
end
|
|
50
|
-
|
|
51
|
-
module AfterClassMethods
|
|
52
|
-
def create(*runner_context_args)
|
|
53
|
-
r = new
|
|
54
|
-
r.runner_context = ::EacCli::Runner::Context.new(r, *runner_context_args)
|
|
55
|
-
r
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def run(*runner_context_args)
|
|
59
|
-
r = create(*runner_context_args)
|
|
60
|
-
r.run_run
|
|
61
|
-
r
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def runner_definition(&block)
|
|
65
|
-
@runner_definition ||= super_runner_definition
|
|
66
|
-
@runner_definition.instance_eval(&block) if block
|
|
67
|
-
@runner_definition
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def super_runner_definition
|
|
71
|
-
superclass.try(:runner_definition).if_present(&:dup) || ::EacCli::Definition.new
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
module InstanceMethods
|
|
76
|
-
def run_run
|
|
77
|
-
parsed
|
|
78
|
-
run_callbacks(:run) { run }
|
|
79
|
-
rescue ::EacCli::Runner::Exit # rubocop:disable Lint/SuppressedException
|
|
80
|
-
# Do nothing
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
def runner_context
|
|
84
|
-
return @runner_context if @runner_context
|
|
85
|
-
|
|
86
|
-
raise 'Context was required, but was not set yet'
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
def runner_context=(new_runner_context)
|
|
90
|
-
@runner_context = new_runner_context
|
|
91
|
-
@parsed = nil
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
def parsed
|
|
95
|
-
@parsed ||= ::EacCli::Parser.new(self.class.runner_definition, runner_context.argv).parsed
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
50
|
end
|
|
99
51
|
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacCli
|
|
4
|
+
module Runner
|
|
5
|
+
module AfterClassMethods
|
|
6
|
+
def create(*runner_context_args)
|
|
7
|
+
r = new
|
|
8
|
+
r.runner_context = ::EacCli::Runner::Context.new(r, *runner_context_args)
|
|
9
|
+
r
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def run(*runner_context_args)
|
|
13
|
+
r = create(*runner_context_args)
|
|
14
|
+
r.run_run
|
|
15
|
+
r
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def runner_definition(&block)
|
|
19
|
+
@runner_definition ||= super_runner_definition
|
|
20
|
+
@runner_definition.instance_eval(&block) if block
|
|
21
|
+
@runner_definition
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def super_runner_definition
|
|
25
|
+
superclass.try(:runner_definition).if_present(&:dup) || ::EacCli::Definition.new
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacCli
|
|
4
|
+
module Runner
|
|
5
|
+
module InstanceMethods
|
|
6
|
+
def run_run
|
|
7
|
+
parsed
|
|
8
|
+
run_callbacks(:run) { run }
|
|
9
|
+
rescue ::EacCli::Parser::Error => e
|
|
10
|
+
$stderr.write("#{e}\n")
|
|
11
|
+
rescue ::EacCli::Runner::Exit # rubocop:disable Lint/SuppressedException
|
|
12
|
+
# Do nothing
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def runner_context
|
|
16
|
+
return @runner_context if @runner_context
|
|
17
|
+
|
|
18
|
+
raise 'Context was required, but was not set yet'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def runner_context=(new_runner_context)
|
|
22
|
+
@runner_context = new_runner_context
|
|
23
|
+
@parsed = nil
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def parsed
|
|
27
|
+
@parsed ||= ::EacCli::Parser.new(self.class.runner_definition, runner_context.argv).parsed
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'active_support/core_ext/object/blank'
|
|
4
|
+
require 'active_support/values/time_zone'
|
|
5
|
+
|
|
6
|
+
module EacRubyUtils
|
|
7
|
+
module LocalTimeZone
|
|
8
|
+
DEBIAN_CONFIG_PATH = '/etc/timezone'
|
|
9
|
+
|
|
10
|
+
class << self
|
|
11
|
+
TIMEDATECTL_TIMEZONE_LINE_PATTERN = %r{\s*Time zone:\s*(\S+/\S+)\s}.freeze
|
|
12
|
+
|
|
13
|
+
def auto
|
|
14
|
+
%w[tz_env debian_config offset].lazy.map { |s| send("by_#{s}") }.find(&:present?)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def auto_set
|
|
18
|
+
::Time.zone = auto
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def by_debian_config
|
|
22
|
+
path = ::Pathname.new(DEBIAN_CONFIG_PATH)
|
|
23
|
+
path.exist? ? path.read.strip.presence : nil
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def by_offset
|
|
27
|
+
::ActiveSupport::TimeZone[::Time.now.getlocal.gmt_offset].name
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def by_timedatectl
|
|
31
|
+
executable = ::EacRubyUtils::Envs.local.executable('timedatectl', '--version')
|
|
32
|
+
return nil unless executable.exist?
|
|
33
|
+
|
|
34
|
+
TIMEDATECTL_TIMEZONE_LINE_PATTERN.if_match(executable.command.execute!) { |m| m[1] }
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def by_tz_env
|
|
38
|
+
ENV['TZ'].presence
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/local_time_zone'
|
|
4
|
+
|
|
5
|
+
RSpec.describe(::EacRubyUtils::LocalTimeZone) do
|
|
6
|
+
describe '#auto' do
|
|
7
|
+
context 'when TZ environment variable is set' do
|
|
8
|
+
let(:expected_time_zone) { 'America/Sao_Paulo' }
|
|
9
|
+
|
|
10
|
+
before do
|
|
11
|
+
ENV['TZ'] = expected_time_zone
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it { expect(described_class.auto).to eq(expected_time_zone) }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: avm-tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.91.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esquilo Azul Company
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-02-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: aranha-parsers
|
|
@@ -24,6 +24,26 @@ dependencies:
|
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0.4'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: asciidoctor
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '2.0'
|
|
34
|
+
- - ">="
|
|
35
|
+
- !ruby/object:Gem::Version
|
|
36
|
+
version: 2.0.12
|
|
37
|
+
type: :runtime
|
|
38
|
+
prerelease: false
|
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
40
|
+
requirements:
|
|
41
|
+
- - "~>"
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '2.0'
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: 2.0.12
|
|
27
47
|
- !ruby/object:Gem::Dependency
|
|
28
48
|
name: clipboard
|
|
29
49
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -290,6 +310,13 @@ files:
|
|
|
290
310
|
- lib/avm/docker/image.rb
|
|
291
311
|
- lib/avm/docker/registry.rb
|
|
292
312
|
- lib/avm/docker/runner.rb
|
|
313
|
+
- lib/avm/eac_asciidoctor_base0.rb
|
|
314
|
+
- lib/avm/eac_asciidoctor_base0/apache_host.rb
|
|
315
|
+
- lib/avm/eac_asciidoctor_base0/build.rb
|
|
316
|
+
- lib/avm/eac_asciidoctor_base0/build/file.rb
|
|
317
|
+
- lib/avm/eac_asciidoctor_base0/deploy.rb
|
|
318
|
+
- lib/avm/eac_asciidoctor_base0/instance.rb
|
|
319
|
+
- lib/avm/eac_asciidoctor_base0/project.rb
|
|
293
320
|
- lib/avm/eac_rails_base0.rb
|
|
294
321
|
- lib/avm/eac_rails_base0/apache_host.rb
|
|
295
322
|
- lib/avm/eac_rails_base0/apache_path.rb
|
|
@@ -301,8 +328,10 @@ files:
|
|
|
301
328
|
- lib/avm/eac_rails_base1/runner.rb
|
|
302
329
|
- lib/avm/eac_rails_base1/runner/bundle.rb
|
|
303
330
|
- lib/avm/eac_rails_base1/runner/code_runner.rb
|
|
331
|
+
- lib/avm/eac_rails_base1/runner/log.rb
|
|
304
332
|
- lib/avm/eac_rails_base1/runner/rails_server.rb
|
|
305
333
|
- lib/avm/eac_rails_base1/runner_with/bundle.rb
|
|
334
|
+
- lib/avm/eac_rails_base1/runner_with/rails_environment.rb
|
|
306
335
|
- lib/avm/eac_redmine_base0.rb
|
|
307
336
|
- lib/avm/eac_redmine_base0/apache_host.rb
|
|
308
337
|
- lib/avm/eac_redmine_base0/core_update.rb
|
|
@@ -346,13 +375,6 @@ files:
|
|
|
346
375
|
- lib/avm/eac_writings_base0/project_build.rb
|
|
347
376
|
- lib/avm/eac_writings_base0/project_build/chapters_content.rb
|
|
348
377
|
- lib/avm/eac_writings_base0/project_build/copy_files.rb
|
|
349
|
-
- lib/avm/eac_writings_base1.rb
|
|
350
|
-
- lib/avm/eac_writings_base1/apache_host.rb
|
|
351
|
-
- lib/avm/eac_writings_base1/build.rb
|
|
352
|
-
- lib/avm/eac_writings_base1/build/file.rb
|
|
353
|
-
- lib/avm/eac_writings_base1/deploy.rb
|
|
354
|
-
- lib/avm/eac_writings_base1/instance.rb
|
|
355
|
-
- lib/avm/eac_writings_base1/project.rb
|
|
356
378
|
- lib/avm/executables.rb
|
|
357
379
|
- lib/avm/files.rb
|
|
358
380
|
- lib/avm/files/appendable.rb
|
|
@@ -496,15 +518,16 @@ files:
|
|
|
496
518
|
- lib/avm/sync.rb
|
|
497
519
|
- lib/avm/tools.rb
|
|
498
520
|
- lib/avm/tools/runner.rb
|
|
521
|
+
- lib/avm/tools/runner/eac_asciidoctor_base0.rb
|
|
499
522
|
- lib/avm/tools/runner/eac_rails_base0.rb
|
|
500
523
|
- lib/avm/tools/runner/eac_rails_base0/apache_path.rb
|
|
501
524
|
- lib/avm/tools/runner/eac_redmine_base0.rb
|
|
502
525
|
- lib/avm/tools/runner/eac_redmine_base0/core_update.rb
|
|
503
526
|
- lib/avm/tools/runner/eac_redmine_base0/docker.rb
|
|
504
527
|
- lib/avm/tools/runner/eac_redmine_base0/project_rename.rb
|
|
528
|
+
- lib/avm/tools/runner/eac_webapp_base0.rb
|
|
505
529
|
- lib/avm/tools/runner/eac_wordpress_base0.rb
|
|
506
530
|
- lib/avm/tools/runner/eac_writings_base0.rb
|
|
507
|
-
- lib/avm/tools/runner/eac_writings_base1.rb
|
|
508
531
|
- lib/avm/tools/runner/files.rb
|
|
509
532
|
- lib/avm/tools/runner/files/format.rb
|
|
510
533
|
- lib/avm/tools/runner/files/rotate.rb
|
|
@@ -528,12 +551,12 @@ files:
|
|
|
528
551
|
- lib/avm/tools/runner/launcher/projects.rb
|
|
529
552
|
- lib/avm/tools/runner/launcher/publish.rb
|
|
530
553
|
- lib/avm/tools/runner/local_project.rb
|
|
554
|
+
- lib/avm/tools/runner/local_project/eac_asciidoctor_base0.rb
|
|
555
|
+
- lib/avm/tools/runner/local_project/eac_asciidoctor_base0/build.rb
|
|
531
556
|
- lib/avm/tools/runner/local_project/eac_writings_base0.rb
|
|
532
557
|
- lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
|
|
533
558
|
- lib/avm/tools/runner/local_project/eac_writings_base0/build_single.rb
|
|
534
559
|
- lib/avm/tools/runner/local_project/eac_writings_base0/info.rb
|
|
535
|
-
- lib/avm/tools/runner/local_project/eac_writings_base1.rb
|
|
536
|
-
- lib/avm/tools/runner/local_project/eac_writings_base1/build.rb
|
|
537
560
|
- lib/avm/tools/runner/local_project/info.rb
|
|
538
561
|
- lib/avm/tools/runner/local_project/ruby.rb
|
|
539
562
|
- lib/avm/tools/runner/local_project/ruby/bundler.rb
|
|
@@ -639,8 +662,10 @@ files:
|
|
|
639
662
|
- vendor/eac_cli/lib/eac_cli/patches/object.rb
|
|
640
663
|
- vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb
|
|
641
664
|
- vendor/eac_cli/lib/eac_cli/runner.rb
|
|
665
|
+
- vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb
|
|
642
666
|
- vendor/eac_cli/lib/eac_cli/runner/context.rb
|
|
643
667
|
- vendor/eac_cli/lib/eac_cli/runner/exit.rb
|
|
668
|
+
- vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb
|
|
644
669
|
- vendor/eac_cli/lib/eac_cli/runner_with.rb
|
|
645
670
|
- vendor/eac_cli/lib/eac_cli/runner_with/help.rb
|
|
646
671
|
- vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb
|
|
@@ -995,6 +1020,7 @@ files:
|
|
|
995
1020
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/string_list.rb
|
|
996
1021
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/symbol_list.rb
|
|
997
1022
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb
|
|
1023
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb
|
|
998
1024
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/on_clean_ruby_environment.rb
|
|
999
1025
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/options_consumer.rb
|
|
1000
1026
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patch.rb
|
|
@@ -1009,6 +1035,8 @@ files:
|
|
|
1009
1035
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash.rb
|
|
1010
1036
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/options_consumer.rb
|
|
1011
1037
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/sym_keys_hash.rb
|
|
1038
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb
|
|
1039
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb
|
|
1012
1040
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module.rb
|
|
1013
1041
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb
|
|
1014
1042
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb
|
|
@@ -1033,8 +1061,6 @@ files:
|
|
|
1033
1061
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb
|
|
1034
1062
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb
|
|
1035
1063
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time.rb
|
|
1036
|
-
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/default_time_zone_set.rb
|
|
1037
|
-
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/local_time_zone.rb
|
|
1038
1064
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash.rb
|
|
1039
1065
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/entry_key_error.rb
|
|
1040
1066
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/node.rb
|
|
@@ -1079,6 +1105,7 @@ files:
|
|
|
1079
1105
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp_spec.rb
|
|
1080
1106
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb
|
|
1081
1107
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb
|
|
1108
|
+
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb
|
|
1082
1109
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/options_consumer_spec.rb
|
|
1083
1110
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerable/boolean_combinations_spec.rb
|
|
1084
1111
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'active_support/core_ext/time/zones'
|
|
4
|
-
require 'eac_ruby_utils/envs'
|
|
5
|
-
|
|
6
|
-
class Time
|
|
7
|
-
class << self
|
|
8
|
-
TIMEDATECTL_TIMEZONE_LINE_PATTERN = %r{\s*Time zone:\s*(\S+/\S+)\s}.freeze
|
|
9
|
-
|
|
10
|
-
def local_time_zone
|
|
11
|
-
local_time_zone_by_timedatectl || local_time_zone_by_offset
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def local_time_zone_by_timedatectl
|
|
15
|
-
executable = ::EacRubyUtils::Envs.local.executable('timedatectl', '--version')
|
|
16
|
-
return nil unless executable.exist?
|
|
17
|
-
|
|
18
|
-
TIMEDATECTL_TIMEZONE_LINE_PATTERN.if_match(executable.command.execute!) { |m| m[1] }
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def local_time_zone_by_offset
|
|
22
|
-
::ActiveSupport::TimeZone[::Time.now.getlocal.gmt_offset].name
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|