avm-tools 0.87.1 → 0.92.0
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_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/git/auto_commit/commit_info.rb +22 -0
- data/lib/avm/git/auto_commit/rules.rb +31 -0
- data/lib/avm/git/auto_commit/rules/base.rb +39 -0
- data/lib/avm/git/auto_commit/rules/last.rb +19 -0
- data/lib/avm/git/auto_commit/rules/manual.rb +45 -0
- data/lib/avm/git/auto_commit/rules/nth.rb +23 -0
- data/lib/avm/git/auto_commit/rules/unique.rb +21 -0
- data/lib/avm/git/file_auto_fixup.rb +15 -62
- data/lib/avm/instances/runner.rb +1 -1
- 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/auto_commit.rb +12 -13
- data/lib/avm/tools/runner/git/auto_fixup.rb +9 -9
- data/lib/avm/tools/runner/git/commit.rb +11 -20
- 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/definition/argument_option.rb +8 -0
- data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +6 -1
- data/vendor/eac_cli/lib/eac_cli/definition/boolean_option.rb +8 -0
- data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +12 -0
- data/vendor/eac_cli/lib/eac_cli/parser/collector.rb +3 -17
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +21 -3
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +4 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- metadata +42 -13
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/default_time_zone_set.rb +0 -6
@@ -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
@@ -8,7 +8,8 @@ module EacCli
|
|
8
8
|
DEFAULT_REQUIRED = false
|
9
9
|
|
10
10
|
enable_listable
|
11
|
-
|
11
|
+
enable_abstract_methods :build_value, :default_value
|
12
|
+
lists.add_symbol :option, :optional, :usage, :repeat, :required
|
12
13
|
attr_reader :short, :long, :description, :options
|
13
14
|
|
14
15
|
def initialize(short, long, description, options = {})
|
@@ -23,6 +24,10 @@ module EacCli
|
|
23
24
|
long.to_s.variableize.to_sym
|
24
25
|
end
|
25
26
|
|
27
|
+
def repeat?
|
28
|
+
options[OPTION_REPEAT]
|
29
|
+
end
|
30
|
+
|
26
31
|
def required?
|
27
32
|
return true if options.key?(:required) && options.fetch(:required)
|
28
33
|
return false if options.key?(:optional) && options.fetch(:optional)
|
@@ -13,6 +13,18 @@ module EacCli
|
|
13
13
|
options.assert_valid_keys(self.class.lists.option.values)
|
14
14
|
end
|
15
15
|
|
16
|
+
def build_value(new_value, previous_value)
|
17
|
+
if previous_value.is_a?(::Array)
|
18
|
+
previous_value + [new_value]
|
19
|
+
else
|
20
|
+
new_value
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def default_value
|
25
|
+
repeat? ? [] : nil
|
26
|
+
end
|
27
|
+
|
16
28
|
def identifier
|
17
29
|
name.to_s.variableize.to_sym
|
18
30
|
end
|
@@ -24,11 +24,7 @@ module EacCli
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def collect(option, value)
|
27
|
-
|
28
|
-
data[option] << value
|
29
|
-
else
|
30
|
-
data[option] = value
|
31
|
-
end
|
27
|
+
data[option] = option.build_value(value, data[option])
|
32
28
|
end
|
33
29
|
|
34
30
|
def supplied?(option)
|
@@ -42,18 +38,8 @@ module EacCli
|
|
42
38
|
end
|
43
39
|
|
44
40
|
def default_values
|
45
|
-
definition.options.each { |option| data[option] =
|
46
|
-
definition.positional.each
|
47
|
-
data[positional] = positional_default_value(positional)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def option_default_value(option)
|
52
|
-
option.argument? ? nil : false
|
53
|
-
end
|
54
|
-
|
55
|
-
def positional_default_value(positional)
|
56
|
-
positional.repeat? ? [] : nil
|
41
|
+
definition.options.each { |option| data[option] = option.default_value }
|
42
|
+
definition.positional.each { |positional| data[positional] = positional.default_value }
|
57
43
|
end
|
58
44
|
end
|
59
45
|
end
|
@@ -12,6 +12,8 @@ RSpec.describe ::EacCli::Runner do
|
|
12
12
|
runner_definition do
|
13
13
|
arg_opt '-o', '--opt1', 'A arg option.'
|
14
14
|
bool_opt '-p', '--opt2', 'A boolean option'
|
15
|
+
arg_opt '-q', '--opt4', 'A repeatable argument option.', repeat: true
|
16
|
+
bool_opt '-r', '--opt5', 'A repeatable boolean option', repeat: true
|
15
17
|
pos_arg :pos1
|
16
18
|
pos_arg :pos2, repeat: true, optional: true
|
17
19
|
alt do
|
@@ -29,7 +31,7 @@ RSpec.describe ::EacCli::Runner do
|
|
29
31
|
context 'when all args are supplied' do
|
30
32
|
let(:argv) { %w[--opt1 aaa --opt2 bbb ccc ddd] }
|
31
33
|
let(:parsed_expected) do
|
32
|
-
{ opt1: 'aaa', opt2: true, opt3: false, pos1: 'bbb',
|
34
|
+
{ opt1: 'aaa', opt2: true, opt3: false, opt4: [], opt5: 0, pos1: 'bbb',
|
33
35
|
pos2: %w[ccc ddd] }
|
34
36
|
end
|
35
37
|
|
@@ -63,7 +65,10 @@ RSpec.describe ::EacCli::Runner do
|
|
63
65
|
|
64
66
|
context 'when only required args are supplied' do
|
65
67
|
let(:argv) { %w[bbb] }
|
66
|
-
let(:parsed_expected)
|
68
|
+
let(:parsed_expected) do
|
69
|
+
{ opt1: nil, opt2: false, opt3: false, opt4: [], opt5: 0, pos1: 'bbb',
|
70
|
+
pos2: [] }
|
71
|
+
end
|
67
72
|
|
68
73
|
it { expect(parsed_actual).to eq(parsed_expected) }
|
69
74
|
it { expect(instance.parsed.opt1).to be_nil }
|
@@ -82,12 +87,25 @@ RSpec.describe ::EacCli::Runner do
|
|
82
87
|
|
83
88
|
context 'when alternative args are supplied' do
|
84
89
|
let(:argv) { %w[--opt3] }
|
85
|
-
let(:parsed_expected)
|
90
|
+
let(:parsed_expected) do
|
91
|
+
{ opt1: nil, opt2: false, opt3: true, opt4: [], opt5: 0, pos1: nil,
|
92
|
+
pos2: [] }
|
93
|
+
end
|
86
94
|
|
87
95
|
it { expect(parsed_actual).to eq(parsed_expected) }
|
88
96
|
it { expect(instance.parsed.opt3?).to eq(true) }
|
89
97
|
end
|
90
98
|
|
99
|
+
context 'when repeated options are supplied' do
|
100
|
+
let(:argv) { %w[--opt5 -rrr --opt4=A -q B --opt4 C AAA] }
|
101
|
+
let(:parsed_expected) do
|
102
|
+
{ opt1: nil, opt2: false, opt3: false, opt4: %w[A B C], opt5: 4, pos1: 'AAA',
|
103
|
+
pos2: [] }
|
104
|
+
end
|
105
|
+
|
106
|
+
it { expect(parsed_actual).to eq(parsed_expected) }
|
107
|
+
end
|
108
|
+
|
91
109
|
context 'when extra args are not supplied' do
|
92
110
|
let(:runner_class) do
|
93
111
|
the_module = described_class
|
@@ -14,6 +14,10 @@ module EacRubyUtils
|
|
14
14
|
%w[tz_env debian_config offset].lazy.map { |s| send("by_#{s}") }.find(&:present?)
|
15
15
|
end
|
16
16
|
|
17
|
+
def auto_set
|
18
|
+
::Time.zone = auto
|
19
|
+
end
|
20
|
+
|
17
21
|
def by_debian_config
|
18
22
|
path = ::Pathname.new(DEBIAN_CONFIG_PATH)
|
19
23
|
path.exist? ? path.read.strip.presence : nil
|
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.92.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-02-
|
11
|
+
date: 2021-02-13 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
|
@@ -378,6 +400,13 @@ files:
|
|
378
400
|
- lib/avm/files/rotate.rb
|
379
401
|
- lib/avm/fs_cache.rb
|
380
402
|
- lib/avm/git.rb
|
403
|
+
- lib/avm/git/auto_commit/commit_info.rb
|
404
|
+
- lib/avm/git/auto_commit/rules.rb
|
405
|
+
- lib/avm/git/auto_commit/rules/base.rb
|
406
|
+
- lib/avm/git/auto_commit/rules/last.rb
|
407
|
+
- lib/avm/git/auto_commit/rules/manual.rb
|
408
|
+
- lib/avm/git/auto_commit/rules/nth.rb
|
409
|
+
- lib/avm/git/auto_commit/rules/unique.rb
|
381
410
|
- lib/avm/git/auto_commit_path.rb
|
382
411
|
- lib/avm/git/auto_commit_path/ruby.rb
|
383
412
|
- lib/avm/git/commit.rb
|
@@ -496,15 +525,16 @@ files:
|
|
496
525
|
- lib/avm/sync.rb
|
497
526
|
- lib/avm/tools.rb
|
498
527
|
- lib/avm/tools/runner.rb
|
528
|
+
- lib/avm/tools/runner/eac_asciidoctor_base0.rb
|
499
529
|
- lib/avm/tools/runner/eac_rails_base0.rb
|
500
530
|
- lib/avm/tools/runner/eac_rails_base0/apache_path.rb
|
501
531
|
- lib/avm/tools/runner/eac_redmine_base0.rb
|
502
532
|
- lib/avm/tools/runner/eac_redmine_base0/core_update.rb
|
503
533
|
- lib/avm/tools/runner/eac_redmine_base0/docker.rb
|
504
534
|
- lib/avm/tools/runner/eac_redmine_base0/project_rename.rb
|
535
|
+
- lib/avm/tools/runner/eac_webapp_base0.rb
|
505
536
|
- lib/avm/tools/runner/eac_wordpress_base0.rb
|
506
537
|
- lib/avm/tools/runner/eac_writings_base0.rb
|
507
|
-
- lib/avm/tools/runner/eac_writings_base1.rb
|
508
538
|
- lib/avm/tools/runner/files.rb
|
509
539
|
- lib/avm/tools/runner/files/format.rb
|
510
540
|
- lib/avm/tools/runner/files/rotate.rb
|
@@ -528,12 +558,12 @@ files:
|
|
528
558
|
- lib/avm/tools/runner/launcher/projects.rb
|
529
559
|
- lib/avm/tools/runner/launcher/publish.rb
|
530
560
|
- lib/avm/tools/runner/local_project.rb
|
561
|
+
- lib/avm/tools/runner/local_project/eac_asciidoctor_base0.rb
|
562
|
+
- lib/avm/tools/runner/local_project/eac_asciidoctor_base0/build.rb
|
531
563
|
- lib/avm/tools/runner/local_project/eac_writings_base0.rb
|
532
564
|
- lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb
|
533
565
|
- lib/avm/tools/runner/local_project/eac_writings_base0/build_single.rb
|
534
566
|
- 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
567
|
- lib/avm/tools/runner/local_project/info.rb
|
538
568
|
- lib/avm/tools/runner/local_project/ruby.rb
|
539
569
|
- lib/avm/tools/runner/local_project/ruby/bundler.rb
|
@@ -1038,7 +1068,6 @@ files:
|
|
1038
1068
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb
|
1039
1069
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb
|
1040
1070
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time.rb
|
1041
|
-
- vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/default_time_zone_set.rb
|
1042
1071
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash.rb
|
1043
1072
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/entry_key_error.rb
|
1044
1073
|
- vendor/eac_ruby_utils/lib/eac_ruby_utils/paths_hash/node.rb
|