avm-tools 0.70.2 → 0.74.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/{stereotypes/eac_rails_base0.rb → eac_rails_base0.rb} +1 -3
- data/lib/avm/eac_rails_base0/instance.rb +2 -5
- data/lib/avm/{rails/runners.rb → eac_rails_base1.rb} +2 -4
- data/lib/avm/eac_rails_base1/instance.rb +24 -0
- data/lib/avm/eac_rails_base1/runner.rb +12 -0
- data/lib/avm/eac_rails_base1/runner/bundle.rb +28 -0
- data/lib/avm/eac_rails_base1/runner/code_runner.rb +28 -0
- data/lib/avm/eac_rails_base1/runner_with/bundle.rb +57 -0
- data/lib/avm/{stereotypes/rails.rb → eac_redmine_base0.rb} +2 -4
- data/lib/avm/eac_redmine_base0/instance.rb +2 -4
- data/lib/avm/{stereotypes/eac_ubuntu_base0.rb → eac_ubuntu_base0.rb} +1 -3
- data/lib/avm/{stereotypes/eac_webapp_base0.rb → eac_webapp_base0.rb} +1 -3
- data/lib/avm/eac_webapp_base0/instance.rb +2 -2
- data/lib/avm/eac_webapp_base0/runner.rb +12 -0
- data/lib/avm/eac_webapp_base0/runner/apache_host.rb +2 -3
- data/lib/avm/eac_webapp_base0/runner/data.rb +1 -1
- data/lib/avm/eac_webapp_base0/runner/data/dump.rb +1 -1
- data/lib/avm/eac_webapp_base0/runner/data/load.rb +1 -1
- data/lib/avm/eac_webapp_base0/runner/deploy.rb +3 -16
- data/lib/avm/eac_wordpress_base0.rb +9 -0
- data/lib/avm/eac_wordpress_base0/apache_host.rb +25 -0
- data/lib/avm/eac_wordpress_base0/deploy.rb +10 -0
- data/lib/avm/eac_wordpress_base0/instance.rb +24 -0
- data/lib/avm/eac_writings_base0.rb +9 -0
- data/lib/avm/eac_writings_base0/commons.rb +12 -0
- data/lib/avm/eac_writings_base0/file_build.rb +45 -0
- data/lib/avm/eac_writings_base0/file_build/base_stereotype.rb +19 -0
- data/lib/avm/eac_writings_base0/file_build/chapter_index.rb +23 -0
- data/lib/avm/eac_writings_base0/file_build/tex_source.rb +33 -0
- data/lib/avm/eac_writings_base0/project.rb +33 -0
- data/lib/avm/eac_writings_base0/project_build.rb +117 -0
- data/lib/avm/eac_writings_base0/project_build/chapters_content.rb +47 -0
- data/lib/avm/eac_writings_base0/project_build/copy_files.rb +42 -0
- data/lib/avm/executables.rb +1 -1
- data/lib/avm/instances/application.rb +4 -0
- data/lib/avm/instances/base.rb +2 -1
- data/lib/avm/instances/base/auto_values.rb +2 -1
- data/lib/avm/instances/base/auto_values/access.rb +5 -4
- data/lib/avm/instances/base/auto_values/admin.rb +2 -2
- data/lib/avm/instances/base/auto_values/database.rb +1 -1
- data/lib/avm/instances/base/auto_values/filesystem.rb +6 -2
- data/lib/avm/instances/base/auto_values/mailer.rb +34 -0
- data/lib/avm/instances/base/auto_values/ruby.rb +1 -1
- data/lib/avm/instances/base/auto_values/system.rb +2 -2
- data/lib/avm/instances/entry.rb +7 -1
- data/lib/avm/instances/entry_keys.rb +42 -7
- data/lib/avm/instances/runner.rb +40 -0
- data/lib/avm/{stereotypes/postgresql.rb → postgresql.rb} +1 -3
- data/lib/avm/postgresql/instance.rb +63 -0
- data/lib/avm/postgresql/instance/data_unit.rb +39 -0
- data/lib/avm/postgresql/instance_with.rb +18 -0
- data/lib/avm/projects/stereotypes/git_subtree/publish.rb +2 -0
- data/lib/avm/projects/stereotypes/git_subtree/warp.rb +3 -0
- data/lib/avm/tools/runner.rb +3 -3
- data/lib/avm/tools/runner/eac_rails_base0.rb +5 -18
- data/lib/avm/tools/runner/eac_rails_base0/apache_path.rb +1 -1
- data/lib/avm/tools/runner/eac_rails_base0/bundle.rb +3 -3
- data/lib/avm/tools/runner/eac_rails_base0/rails_server.rb +35 -0
- data/lib/avm/tools/runner/eac_rails_base0/runner.rb +3 -3
- data/lib/avm/tools/runner/eac_redmine_base0.rb +5 -23
- data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/docker.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/project_rename.rb +3 -3
- data/lib/avm/tools/runner/eac_wordpress_base0.rb +5 -24
- data/lib/avm/tools/runner/instance.rb +28 -0
- data/lib/avm/tools/runner/instance/info.rb +44 -0
- data/lib/avm/tools/runner/local_project/eac_writings_base0.rb +35 -0
- data/lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb +48 -0
- data/lib/avm/tools/runner/local_project/eac_writings_base0/build_single.rb +37 -0
- data/lib/avm/tools/runner/local_project/eac_writings_base0/info.rb +36 -0
- data/lib/avm/tools/version.rb +1 -1
- data/template/avm/eac_rails_base0/deploy/config/envvars.d/email.yml.template +11 -0
- data/template/avm/eac_writings_base0/commons/all.tex +5 -0
- data/template/avm/eac_writings_base0/commons/ebook.tex +11 -0
- data/template/avm/eac_writings_base0/commons/images.tex +11 -0
- data/template/avm/eac_writings_base0/commons/links.tex +2 -0
- data/template/avm/eac_writings_base0/commons/portuguese.tex +8 -0
- data/template/avm/eac_writings_base0/commons/source_code.tex +21 -0
- data/template/avm/eac_writings_base0/commons/source_code/java.tex +15 -0
- data/template/avm/eac_writings_base0/commons/utils.tex +6 -0
- data/vendor/eac_cli/lib/eac_cli/runner.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/runner/context.rb +19 -2
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +12 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem.rb +2 -1
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem/command.rb +1 -1
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb +10 -6
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +1 -1
- data/vendor/eac_ruby_gems_utils/spec/{rubocop_check_spec.rb → code/rubocop_check_spec.rb} +0 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +19 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/base.rb +43 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/file.rb +12 -31
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb +4 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +57 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash.rb +21 -58
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/entry_key_error.rb +8 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/node.rb +67 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/path_search.rb +39 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +2 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +4 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +16 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/configs_spec.rb +15 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/paths_hash_spec.rb +52 -13
- metadata +57 -30
- data/lib/avm/rails/runners/bundle.rb +0 -35
- data/lib/avm/rails/runners/runner.rb +0 -48
- data/lib/avm/stereotypes/eac_redmine_base0.rb +0 -11
- data/lib/avm/stereotypes/eac_wordpress_base0/apache_host.rb +0 -27
- data/lib/avm/stereotypes/eac_wordpress_base0/deploy.rb +0 -12
- data/lib/avm/stereotypes/eac_wordpress_base0/instance.rb +0 -26
- data/lib/avm/stereotypes/postgresql/instance.rb +0 -65
- data/lib/avm/stereotypes/postgresql/instance/data_unit.rb +0 -41
- data/lib/avm/stereotypes/postgresql/instance_with.rb +0 -20
- data/lib/avm/stereotypes/rails/instance.rb +0 -20
- data/lib/avm/tools/runner/eac_rails_base0/apache_host.rb +0 -16
- data/lib/avm/tools/runner/eac_rails_base0/data.rb +0 -15
- data/lib/avm/tools/runner/eac_rails_base0/deploy.rb +0 -15
- data/lib/avm/tools/runner/eac_redmine_base0/bundle.rb +0 -14
- data/lib/avm/tools/runner/eac_redmine_base0/data.rb +0 -27
- data/lib/avm/tools/runner/eac_redmine_base0/data/dump.rb +0 -16
- data/lib/avm/tools/runner/eac_redmine_base0/deploy.rb +0 -15
- data/lib/avm/tools/runner/eac_redmine_base0/runner.rb +0 -14
- data/lib/avm/tools/runner/eac_wordpress_base0/apache_host.rb +0 -17
- data/lib/avm/tools/runner/eac_wordpress_base0/data.rb +0 -15
- data/lib/avm/tools/runner/eac_wordpress_base0/deploy.rb +0 -15
@@ -1,21 +1,25 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/patches/object/asserts'
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
5
4
|
|
6
5
|
module EacRubyUtils
|
7
6
|
class PathsHash
|
7
|
+
require_sub __FILE__
|
8
|
+
|
8
9
|
class << self
|
9
10
|
def parse_entry_key(entry_key)
|
10
11
|
r = entry_key.to_s.strip
|
11
|
-
raise EntryKeyError, 'Entry key cannot start or end with dot' if
|
12
|
+
raise ::EacRubyUtils::PathsHash::EntryKeyError, 'Entry key cannot start or end with dot' if
|
12
13
|
r.start_with?('.') || r.end_with?('.')
|
13
14
|
|
14
15
|
r = r.split('.').map(&:strip)
|
15
|
-
|
16
|
+
if r.empty?
|
17
|
+
raise ::EacRubyUtils::PathsHash::EntryKeyError, "Entry key \"#{entry_key}\" is empty"
|
18
|
+
end
|
16
19
|
return r.map(&:to_sym) unless r.any?(&:blank?)
|
17
20
|
|
18
|
-
raise EntryKeyError,
|
21
|
+
raise ::EacRubyUtils::PathsHash::EntryKeyError,
|
22
|
+
"Entry key \"#{entry_key}\" has at least one blank part"
|
19
23
|
end
|
20
24
|
end
|
21
25
|
|
@@ -26,68 +30,27 @@ module EacRubyUtils
|
|
26
30
|
end
|
27
31
|
|
28
32
|
def [](entry_key)
|
29
|
-
root.read_entry(
|
33
|
+
root.read_entry(::EacRubyUtils::PathsHash::PathSearch.parse_entry_key(entry_key))
|
30
34
|
end
|
31
35
|
|
32
36
|
def []=(entry_key, entry_value)
|
33
|
-
root.write_entry(
|
37
|
+
root.write_entry(
|
38
|
+
::EacRubyUtils::PathsHash::PathSearch.parse_entry_key(entry_key), entry_value
|
39
|
+
)
|
34
40
|
end
|
35
41
|
|
36
|
-
|
37
|
-
|
38
|
-
private
|
39
|
-
|
40
|
-
attr_reader :data
|
41
|
-
|
42
|
-
class EntryKeyError < StandardError
|
42
|
+
def fetch(entry_key)
|
43
|
+
root.fetch(::EacRubyUtils::PathsHash::PathSearch.parse_entry_key(entry_key))
|
43
44
|
end
|
44
45
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
@data = source_hash.map { |k, v| [k.to_sym, v.is_a?(Hash) ? Node.new(v) : v] }.to_h
|
49
|
-
end
|
50
|
-
|
51
|
-
def to_h
|
52
|
-
data.map { |k, v| [k, v.is_a?(Node) ? v.to_h : v] }.to_h
|
53
|
-
end
|
54
|
-
|
55
|
-
def read_entry(path, current)
|
56
|
-
validate_path(path, current)
|
57
|
-
node_key = path.shift
|
58
|
-
node = data[node_key]
|
59
|
-
return (node.is_a?(Node) ? node.to_h : node) if path.empty?
|
60
|
-
return nil if node.blank?
|
61
|
-
return node.read_entry(path, current + [node_key]) if node.is_a?(Node)
|
62
|
-
|
63
|
-
raise(EntryKeyError,
|
64
|
-
"Path #{current.join(',')} is not a Node and path continues (#{current + path})")
|
65
|
-
end
|
66
|
-
|
67
|
-
def write_entry(path, value, current)
|
68
|
-
validate_path(path, current)
|
69
|
-
node_key = path.shift
|
70
|
-
write_entry_value(path, node_key, value, current)
|
71
|
-
end
|
72
|
-
|
73
|
-
private
|
46
|
+
def key?(entry_key)
|
47
|
+
root.entry?(::EacRubyUtils::PathsHash::PathSearch.parse_entry_key(entry_key))
|
48
|
+
end
|
74
49
|
|
75
|
-
|
76
|
-
if path.empty?
|
77
|
-
data[node_key] = value.is_a?(Hash) ? Node.new(value) : value
|
78
|
-
else
|
79
|
-
data[node_key] = Node.new({}) unless data[node_key].is_a?(Node)
|
80
|
-
data[node_key].write_entry(path, value, current + [node_key])
|
81
|
-
end
|
82
|
-
end
|
50
|
+
delegate :to_h, to: :root
|
83
51
|
|
84
|
-
|
85
|
-
path.assert_argument(Array, 'path')
|
86
|
-
current.assert_argument(Array, 'current')
|
87
|
-
raise EntryKeyError, 'Path is empty' if path.empty?
|
88
|
-
end
|
52
|
+
private
|
89
53
|
|
90
|
-
|
91
|
-
end
|
54
|
+
attr_reader :data
|
92
55
|
end
|
93
56
|
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'eac_ruby_utils/paths_hash/entry_key_error'
|
5
|
+
|
6
|
+
module EacRubyUtils
|
7
|
+
class PathsHash
|
8
|
+
class Node
|
9
|
+
PATH_SEARCH_UNENDED_ERROR_MESSAGE = 'Path search is not a Node and is not ended'
|
10
|
+
|
11
|
+
def initialize(source_hash)
|
12
|
+
source_hash.assert_argument(Hash, 'source_hash')
|
13
|
+
@data = source_hash.map { |k, v| [k.to_sym, v.is_a?(Hash) ? Node.new(v) : v] }.to_h
|
14
|
+
end
|
15
|
+
|
16
|
+
def entry?(path_search)
|
17
|
+
return false unless data.key?(path_search.cursor)
|
18
|
+
return true if path_search.ended?
|
19
|
+
return data.fetch(path_search.cursor).entry?(path_search.succeeding) if
|
20
|
+
data.fetch(path_search.cursor).is_a?(Node)
|
21
|
+
|
22
|
+
false # Paths continue and there is not available nodes
|
23
|
+
end
|
24
|
+
|
25
|
+
def fetch(path_search)
|
26
|
+
if data.key?(path_search.cursor)
|
27
|
+
node = data.fetch(path_search.cursor)
|
28
|
+
return (node.is_a?(Node) ? node.to_h : node) if path_search.ended?
|
29
|
+
return nil if node.blank?
|
30
|
+
return node.fetch(path_search.succeeding) if node.is_a?(Node)
|
31
|
+
end
|
32
|
+
|
33
|
+
path_search.raise_error(PATH_SEARCH_UNENDED_ERROR_MESSAGE)
|
34
|
+
end
|
35
|
+
|
36
|
+
def to_h
|
37
|
+
data.map { |k, v| [k, v.is_a?(Node) ? v.to_h : v] }.to_h
|
38
|
+
end
|
39
|
+
|
40
|
+
def read_entry(path_search)
|
41
|
+
node = data[path_search.cursor]
|
42
|
+
return (node.is_a?(Node) ? node.to_h : node) if path_search.ended?
|
43
|
+
return nil if node.blank?
|
44
|
+
return node.read_entry(path_search.succeeding) if node.is_a?(Node)
|
45
|
+
|
46
|
+
path_search.raise_error(PATH_SEARCH_UNENDED_ERROR_MESSAGE)
|
47
|
+
end
|
48
|
+
|
49
|
+
def write_entry(path_search, value)
|
50
|
+
if path_search.ended?
|
51
|
+
data[path_search.cursor] = value.is_a?(Hash) ? self.class.new(value) : value
|
52
|
+
else
|
53
|
+
assert_data_node(path_search.cursor).write_entry(path_search.succeeding, value)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
attr_reader :data
|
60
|
+
|
61
|
+
def assert_data_node(key)
|
62
|
+
data[key] = self.class.new({}) unless data[key].is_a?(Node)
|
63
|
+
data[key]
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EacRubyUtils
|
4
|
+
class PathsHash
|
5
|
+
class PathSearch
|
6
|
+
class << self
|
7
|
+
def parse_entry_key(string)
|
8
|
+
new(::EacRubyUtils::PathsHash.parse_entry_key(string), [])
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
common_constructor :current, :previous do
|
13
|
+
self.current = current.assert_argument(Array, 'current').freeze
|
14
|
+
self.previous = previous.assert_argument(Array, 'previous')
|
15
|
+
raise ::EacRubyUtils::PathsHash::EntryKeyError, 'Current is empty' if current.empty?
|
16
|
+
end
|
17
|
+
|
18
|
+
def cursor
|
19
|
+
current.first
|
20
|
+
end
|
21
|
+
|
22
|
+
def ended?
|
23
|
+
current.count <= 1
|
24
|
+
end
|
25
|
+
|
26
|
+
def raise_error(message)
|
27
|
+
raise ::EacRubyUtils::PathsHash::EntryKeyError, "#{message} (#{self})"
|
28
|
+
end
|
29
|
+
|
30
|
+
def succeeding
|
31
|
+
self.class.new(current[1..-1], previous + [cursor])
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_s
|
35
|
+
"#{self.class}[Current: #{current}, Previous: #{previous}]"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -8,7 +8,8 @@ module EacRubyUtils
|
|
8
8
|
# A [EacRubyUtils::Envs::Command] which runs in a clean Ruby environment.
|
9
9
|
class Command < ::EacRubyUtils::Envs::Command
|
10
10
|
def initialize(bundle_args, extra_options = {})
|
11
|
-
|
11
|
+
host_env = extra_options.delete(:host_env)
|
12
|
+
super(host_env || ::EacRubyUtils::Envs.local, bundle_args, extra_options)
|
12
13
|
end
|
13
14
|
|
14
15
|
%w[system execute].each do |method_prefix|
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/blank_not_blank'
|
4
|
+
|
5
|
+
RSpec.describe ::EacRubyUtils::BlankNotBlank do
|
6
|
+
let(:instance) { described_class.instance }
|
7
|
+
|
8
|
+
it do
|
9
|
+
expect { described_class.new }.to raise_error(::NoMethodError)
|
10
|
+
end
|
11
|
+
|
12
|
+
it { expect(instance).to be_present }
|
13
|
+
it { expect(instance).not_to be_blank }
|
14
|
+
it { expect(instance).to be_truthy }
|
15
|
+
it { expect(instance).to eq('') }
|
16
|
+
end
|
@@ -28,4 +28,19 @@ RSpec.describe ::EacRubyUtils::Configs do
|
|
28
28
|
|
29
29
|
it { expect(::YAML.load_file(storage_path)).to eq(parent: { child: 'value1' }) }
|
30
30
|
end
|
31
|
+
|
32
|
+
describe '#read' do
|
33
|
+
let(:present_key) { 'a.present.key' }
|
34
|
+
let(:blank_key) { 'a.blank.key' }
|
35
|
+
|
36
|
+
before do
|
37
|
+
instance[present_key] = 'A value'
|
38
|
+
instance[blank_key] = ''
|
39
|
+
instance.save
|
40
|
+
instance.load
|
41
|
+
end
|
42
|
+
|
43
|
+
it { expect(instance[present_key]).to be_present }
|
44
|
+
it { expect(instance[blank_key]).to be_present }
|
45
|
+
end
|
31
46
|
end
|
@@ -3,20 +3,20 @@
|
|
3
3
|
require 'eac_ruby_utils/paths_hash'
|
4
4
|
|
5
5
|
RSpec.describe ::EacRubyUtils::PathsHash do
|
6
|
-
|
7
|
-
|
8
|
-
{
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
child2: 'v2'
|
15
|
-
}
|
6
|
+
let(:source_hash) do
|
7
|
+
{
|
8
|
+
parent: {
|
9
|
+
child1: {
|
10
|
+
child1_1: 'v1_1',
|
11
|
+
child1_2: 'v1_2'
|
12
|
+
},
|
13
|
+
child2: 'v2'
|
16
14
|
}
|
17
|
-
|
18
|
-
|
15
|
+
}
|
16
|
+
end
|
17
|
+
let(:instance) { described_class.new(source_hash) }
|
19
18
|
|
19
|
+
describe '#[]' do
|
20
20
|
{
|
21
21
|
'parent.child1.child1_1' => 'v1_1',
|
22
22
|
'parent.child1.child1_2' => 'v1_2',
|
@@ -38,7 +38,7 @@ RSpec.describe ::EacRubyUtils::PathsHash do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
describe '#[]=' do
|
41
|
-
let(:
|
41
|
+
let(:source_hash) { {} }
|
42
42
|
|
43
43
|
before do
|
44
44
|
instance['a.b.c'] = '123'
|
@@ -46,4 +46,43 @@ RSpec.describe ::EacRubyUtils::PathsHash do
|
|
46
46
|
|
47
47
|
it { expect(instance.to_h).to eq(a: { b: { c: '123' } }) }
|
48
48
|
end
|
49
|
+
|
50
|
+
describe '#fetch' do
|
51
|
+
{
|
52
|
+
'parent.child1.child1_1' => 'v1_1',
|
53
|
+
'parent.child1.child1_2' => 'v1_2',
|
54
|
+
'parent.child1.child1_2.no_exist' => ::EacRubyUtils::PathsHash::EntryKeyError,
|
55
|
+
'parent.child1.child1_3' => ::EacRubyUtils::PathsHash::EntryKeyError,
|
56
|
+
'parent.child2' => 'v2',
|
57
|
+
'no_exist' => ::EacRubyUtils::PathsHash::EntryKeyError,
|
58
|
+
'parent.child1' => {
|
59
|
+
child1_1: 'v1_1',
|
60
|
+
child1_2: 'v1_2'
|
61
|
+
}
|
62
|
+
}.each do |entry_key, expected_value|
|
63
|
+
if expected_value.is_a?(::Class) && expected_value < ::Exception
|
64
|
+
it "raise error #{expected_value}" do
|
65
|
+
expect { instance.fetch(entry_key) }.to raise_error(expected_value)
|
66
|
+
end
|
67
|
+
else
|
68
|
+
it "\#fetch return \"#{expected_value}\"" do
|
69
|
+
expect(instance.fetch(entry_key)).to eq(expected_value)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe '#key?' do
|
76
|
+
{
|
77
|
+
'parent.child1.child1_1' => true,
|
78
|
+
'parent.child1.child1_2' => true,
|
79
|
+
'parent.child1.child1_2.no_exist' => false,
|
80
|
+
'parent.child1.child1_3' => false,
|
81
|
+
'parent.child2' => true,
|
82
|
+
'no_exist' => false,
|
83
|
+
'parent.child1' => true
|
84
|
+
}.each do |entry_key, expected_value|
|
85
|
+
it { expect(instance.key?(entry_key)).to eq(expected_value) }
|
86
|
+
end
|
87
|
+
end
|
49
88
|
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.74.1
|
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: 2020-10-
|
11
|
+
date: 2020-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha-parsers
|
@@ -290,17 +290,27 @@ files:
|
|
290
290
|
- lib/avm/docker/image.rb
|
291
291
|
- lib/avm/docker/registry.rb
|
292
292
|
- lib/avm/docker/runner.rb
|
293
|
+
- lib/avm/eac_rails_base0.rb
|
293
294
|
- lib/avm/eac_rails_base0/apache_host.rb
|
294
295
|
- lib/avm/eac_rails_base0/apache_path.rb
|
295
296
|
- lib/avm/eac_rails_base0/deploy.rb
|
296
297
|
- lib/avm/eac_rails_base0/instance.rb
|
298
|
+
- lib/avm/eac_rails_base1.rb
|
299
|
+
- lib/avm/eac_rails_base1/instance.rb
|
300
|
+
- lib/avm/eac_rails_base1/runner.rb
|
301
|
+
- lib/avm/eac_rails_base1/runner/bundle.rb
|
302
|
+
- lib/avm/eac_rails_base1/runner/code_runner.rb
|
303
|
+
- lib/avm/eac_rails_base1/runner_with/bundle.rb
|
304
|
+
- lib/avm/eac_redmine_base0.rb
|
297
305
|
- lib/avm/eac_redmine_base0/core_update.rb
|
298
306
|
- lib/avm/eac_redmine_base0/data_unit.rb
|
299
307
|
- lib/avm/eac_redmine_base0/deploy.rb
|
300
308
|
- lib/avm/eac_redmine_base0/instance.rb
|
309
|
+
- lib/avm/eac_ubuntu_base0.rb
|
301
310
|
- lib/avm/eac_ubuntu_base0/apache.rb
|
302
311
|
- lib/avm/eac_ubuntu_base0/apache/resource.rb
|
303
312
|
- lib/avm/eac_ubuntu_base0/docker_image.rb
|
313
|
+
- lib/avm/eac_webapp_base0.rb
|
304
314
|
- lib/avm/eac_webapp_base0/apache_host.rb
|
305
315
|
- lib/avm/eac_webapp_base0/deploy.rb
|
306
316
|
- lib/avm/eac_webapp_base0/deploy/appended_directories.rb
|
@@ -308,11 +318,26 @@ files:
|
|
308
318
|
- lib/avm/eac_webapp_base0/deploy/git_info.rb
|
309
319
|
- lib/avm/eac_webapp_base0/deploy/version.rb
|
310
320
|
- lib/avm/eac_webapp_base0/instance.rb
|
321
|
+
- lib/avm/eac_webapp_base0/runner.rb
|
311
322
|
- lib/avm/eac_webapp_base0/runner/apache_host.rb
|
312
323
|
- lib/avm/eac_webapp_base0/runner/data.rb
|
313
324
|
- lib/avm/eac_webapp_base0/runner/data/dump.rb
|
314
325
|
- lib/avm/eac_webapp_base0/runner/data/load.rb
|
315
326
|
- lib/avm/eac_webapp_base0/runner/deploy.rb
|
327
|
+
- lib/avm/eac_wordpress_base0.rb
|
328
|
+
- lib/avm/eac_wordpress_base0/apache_host.rb
|
329
|
+
- lib/avm/eac_wordpress_base0/deploy.rb
|
330
|
+
- lib/avm/eac_wordpress_base0/instance.rb
|
331
|
+
- lib/avm/eac_writings_base0.rb
|
332
|
+
- lib/avm/eac_writings_base0/commons.rb
|
333
|
+
- lib/avm/eac_writings_base0/file_build.rb
|
334
|
+
- lib/avm/eac_writings_base0/file_build/base_stereotype.rb
|
335
|
+
- lib/avm/eac_writings_base0/file_build/chapter_index.rb
|
336
|
+
- lib/avm/eac_writings_base0/file_build/tex_source.rb
|
337
|
+
- lib/avm/eac_writings_base0/project.rb
|
338
|
+
- lib/avm/eac_writings_base0/project_build.rb
|
339
|
+
- lib/avm/eac_writings_base0/project_build/chapters_content.rb
|
340
|
+
- lib/avm/eac_writings_base0/project_build/copy_files.rb
|
316
341
|
- lib/avm/executables.rb
|
317
342
|
- lib/avm/files.rb
|
318
343
|
- lib/avm/files/formatter.rb
|
@@ -374,6 +399,7 @@ files:
|
|
374
399
|
- lib/avm/instances/base/auto_values/data.rb
|
375
400
|
- lib/avm/instances/base/auto_values/database.rb
|
376
401
|
- lib/avm/instances/base/auto_values/filesystem.rb
|
402
|
+
- lib/avm/instances/base/auto_values/mailer.rb
|
377
403
|
- lib/avm/instances/base/auto_values/ruby.rb
|
378
404
|
- lib/avm/instances/base/auto_values/source.rb
|
379
405
|
- lib/avm/instances/base/auto_values/system.rb
|
@@ -386,6 +412,7 @@ files:
|
|
386
412
|
- lib/avm/instances/entries.rb
|
387
413
|
- lib/avm/instances/entry.rb
|
388
414
|
- lib/avm/instances/entry_keys.rb
|
415
|
+
- lib/avm/instances/runner.rb
|
389
416
|
- lib/avm/launcher/context/instance_manager.rb
|
390
417
|
- lib/avm/launcher/context/instance_manager/cached_instance.rb
|
391
418
|
- lib/avm/launcher/context/instance_manager/cached_instances.rb
|
@@ -402,6 +429,10 @@ files:
|
|
402
429
|
- lib/avm/patches/object/i18n.rb
|
403
430
|
- lib/avm/patches/object/template.rb
|
404
431
|
- lib/avm/path_string.rb
|
432
|
+
- lib/avm/postgresql.rb
|
433
|
+
- lib/avm/postgresql/instance.rb
|
434
|
+
- lib/avm/postgresql/instance/data_unit.rb
|
435
|
+
- lib/avm/postgresql/instance_with.rb
|
405
436
|
- lib/avm/projects.rb
|
406
437
|
- lib/avm/projects/stereotype.rb
|
407
438
|
- lib/avm/projects/stereotypes.rb
|
@@ -425,9 +456,6 @@ files:
|
|
425
456
|
- lib/avm/projects/stereotypes/ruby_gem/update.rb
|
426
457
|
- lib/avm/projects/stereotypes/ruby_gem/version_bump.rb
|
427
458
|
- lib/avm/rails.rb
|
428
|
-
- lib/avm/rails/runners.rb
|
429
|
-
- lib/avm/rails/runners/bundle.rb
|
430
|
-
- lib/avm/rails/runners/runner.rb
|
431
459
|
- lib/avm/result.rb
|
432
460
|
- lib/avm/ruby.rb
|
433
461
|
- lib/avm/ruby/gems.rb
|
@@ -442,42 +470,19 @@ files:
|
|
442
470
|
- lib/avm/self/instance/entry_keys.rb
|
443
471
|
- lib/avm/self/root.rb
|
444
472
|
- lib/avm/stereotypes.rb
|
445
|
-
- lib/avm/stereotypes/eac_rails_base0.rb
|
446
|
-
- lib/avm/stereotypes/eac_redmine_base0.rb
|
447
|
-
- lib/avm/stereotypes/eac_ubuntu_base0.rb
|
448
|
-
- lib/avm/stereotypes/eac_webapp_base0.rb
|
449
|
-
- lib/avm/stereotypes/eac_wordpress_base0/apache_host.rb
|
450
|
-
- lib/avm/stereotypes/eac_wordpress_base0/deploy.rb
|
451
|
-
- lib/avm/stereotypes/eac_wordpress_base0/instance.rb
|
452
|
-
- lib/avm/stereotypes/postgresql.rb
|
453
|
-
- lib/avm/stereotypes/postgresql/instance.rb
|
454
|
-
- lib/avm/stereotypes/postgresql/instance/data_unit.rb
|
455
|
-
- lib/avm/stereotypes/postgresql/instance_with.rb
|
456
|
-
- lib/avm/stereotypes/rails.rb
|
457
|
-
- lib/avm/stereotypes/rails/instance.rb
|
458
473
|
- lib/avm/sync.rb
|
459
474
|
- lib/avm/tools.rb
|
460
475
|
- lib/avm/tools/runner.rb
|
461
476
|
- lib/avm/tools/runner/eac_rails_base0.rb
|
462
|
-
- lib/avm/tools/runner/eac_rails_base0/apache_host.rb
|
463
477
|
- lib/avm/tools/runner/eac_rails_base0/apache_path.rb
|
464
478
|
- lib/avm/tools/runner/eac_rails_base0/bundle.rb
|
465
|
-
- lib/avm/tools/runner/eac_rails_base0/
|
466
|
-
- lib/avm/tools/runner/eac_rails_base0/deploy.rb
|
479
|
+
- lib/avm/tools/runner/eac_rails_base0/rails_server.rb
|
467
480
|
- lib/avm/tools/runner/eac_rails_base0/runner.rb
|
468
481
|
- lib/avm/tools/runner/eac_redmine_base0.rb
|
469
|
-
- lib/avm/tools/runner/eac_redmine_base0/bundle.rb
|
470
482
|
- lib/avm/tools/runner/eac_redmine_base0/core_update.rb
|
471
|
-
- lib/avm/tools/runner/eac_redmine_base0/data.rb
|
472
|
-
- lib/avm/tools/runner/eac_redmine_base0/data/dump.rb
|
473
|
-
- lib/avm/tools/runner/eac_redmine_base0/deploy.rb
|
474
483
|
- lib/avm/tools/runner/eac_redmine_base0/docker.rb
|
475
484
|
- lib/avm/tools/runner/eac_redmine_base0/project_rename.rb
|
476
|
-
- lib/avm/tools/runner/eac_redmine_base0/runner.rb
|
477
485
|
- lib/avm/tools/runner/eac_wordpress_base0.rb
|
478
|
-
- lib/avm/tools/runner/eac_wordpress_base0/apache_host.rb
|
479
|
-
- lib/avm/tools/runner/eac_wordpress_base0/data.rb
|
480
|
-
- lib/avm/tools/runner/eac_wordpress_base0/deploy.rb
|
481
486
|
- lib/avm/tools/runner/files.rb
|
482
487
|
- lib/avm/tools/runner/files/format.rb
|
483
488
|
- lib/avm/tools/runner/files/rotate.rb
|
@@ -492,11 +497,17 @@ files:
|
|
492
497
|
- lib/avm/tools/runner/git/revisions_test.rb
|
493
498
|
- lib/avm/tools/runner/git/subrepo.rb
|
494
499
|
- lib/avm/tools/runner/git/subrepo/check.rb
|
500
|
+
- lib/avm/tools/runner/instance.rb
|
501
|
+
- lib/avm/tools/runner/instance/info.rb
|
495
502
|
- lib/avm/tools/runner/launcher.rb
|
496
503
|
- lib/avm/tools/runner/launcher/instances.rb
|
497
504
|
- lib/avm/tools/runner/launcher/projects.rb
|
498
505
|
- lib/avm/tools/runner/launcher/publish.rb
|
499
506
|
- lib/avm/tools/runner/local_project.rb
|
507
|
+
- lib/avm/tools/runner/local_project/eac_writings_base0.rb
|
508
|
+
- lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
|
509
|
+
- lib/avm/tools/runner/local_project/eac_writings_base0/build_single.rb
|
510
|
+
- lib/avm/tools/runner/local_project/eac_writings_base0/info.rb
|
500
511
|
- lib/avm/tools/runner/local_project/info.rb
|
501
512
|
- lib/avm/tools/runner/local_project/ruby.rb
|
502
513
|
- lib/avm/tools/runner/local_project/ruby/bundler.rb
|
@@ -548,9 +559,18 @@ files:
|
|
548
559
|
- lib/eac_launcher/version.rb
|
549
560
|
- template/avm/eac_rails_base0/apache_path/default.conf
|
550
561
|
- template/avm/eac_rails_base0/deploy/config/database.yml.template
|
562
|
+
- template/avm/eac_rails_base0/deploy/config/envvars.d/email.yml.template
|
551
563
|
- template/avm/eac_redmine_base0/deploy/config/install.sh.template
|
552
564
|
- template/avm/eac_redmine_base0/deploy/config/secrets.yml
|
553
565
|
- template/avm/eac_webapp_base0/apache_host/no_ssl.conf
|
566
|
+
- template/avm/eac_writings_base0/commons/all.tex
|
567
|
+
- template/avm/eac_writings_base0/commons/ebook.tex
|
568
|
+
- template/avm/eac_writings_base0/commons/images.tex
|
569
|
+
- template/avm/eac_writings_base0/commons/links.tex
|
570
|
+
- template/avm/eac_writings_base0/commons/portuguese.tex
|
571
|
+
- template/avm/eac_writings_base0/commons/source_code.tex
|
572
|
+
- template/avm/eac_writings_base0/commons/source_code/java.tex
|
573
|
+
- template/avm/eac_writings_base0/commons/utils.tex
|
554
574
|
- template/avm/ruby/gems/generator/gemspec.template
|
555
575
|
- template/avm/ruby/gems/generator/root_lib.template
|
556
576
|
- template/avm/ruby/gems/generator/static/Gemfile
|
@@ -836,10 +856,10 @@ files:
|
|
836
856
|
- vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/result.rb
|
837
857
|
- vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/rspec.rb
|
838
858
|
- vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb
|
859
|
+
- vendor/eac_ruby_gems_utils/spec/code/rubocop_check_spec.rb
|
839
860
|
- vendor/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem/version_file_spec.rb
|
840
861
|
- vendor/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem/version_file_spec_files/a_version_file.rb
|
841
862
|
- vendor/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem_spec.rb
|
842
|
-
- vendor/eac_ruby_gems_utils/spec/rubocop_check_spec.rb
|
843
863
|
- vendor/eac_ruby_gems_utils/spec/spec_helper.rb
|
844
864
|
- vendor/eac_ruby_gems_utils/spec/support/mygem/Gemfile
|
845
865
|
- vendor/eac_ruby_gems_utils/spec/support/mygem/Gemfile.lock
|
@@ -854,11 +874,13 @@ files:
|
|
854
874
|
- vendor/eac_ruby_utils/eac_ruby_utils.gemspec
|
855
875
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils.rb
|
856
876
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/arguments_consumer.rb
|
877
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb
|
857
878
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb
|
858
879
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/by_reference.rb
|
859
880
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb
|
860
881
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb
|
861
882
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/configs.rb
|
883
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/base.rb
|
862
884
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/configs/file.rb
|
863
885
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/console.rb
|
864
886
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb
|
@@ -891,6 +913,7 @@ files:
|
|
891
913
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/terminal.rb
|
892
914
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/filesystem_cache.rb
|
893
915
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/fs.rb
|
916
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb
|
894
917
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/extname.rb
|
895
918
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/temp.rb
|
896
919
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/directory.rb
|
@@ -951,6 +974,9 @@ files:
|
|
951
974
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/default_time_zone_set.rb
|
952
975
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/local_time_zone.rb
|
953
976
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash.rb
|
977
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/entry_key_error.rb
|
978
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/node.rb
|
979
|
+
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/path_search.rb
|
954
980
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/require_sub.rb
|
955
981
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec.rb
|
956
982
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/conditional.rb
|
@@ -974,6 +1000,7 @@ files:
|
|
974
1000
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb
|
975
1001
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb
|
976
1002
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/arguments_consumer_spec.rb
|
1003
|
+
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb
|
977
1004
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
|
978
1005
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
|
979
1006
|
- vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/configs_spec.rb
|