avm 0.83.0 → 0.84.1

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/applications/base/publishing.rb +1 -1
  3. data/lib/avm/data/rotate.rb +2 -2
  4. data/lib/avm/docker/image.rb +3 -3
  5. data/lib/avm/docker/runner.rb +1 -1
  6. data/lib/avm/entries/base/uri_components_entries_values/path_component.rb +1 -1
  7. data/lib/avm/entries/keys_constants_set.rb +1 -1
  8. data/lib/avm/entries/uri_builder.rb +2 -2
  9. data/lib/avm/executables.rb +1 -1
  10. data/lib/avm/instances/base/entry_keys.rb +1 -1
  11. data/lib/avm/instances/base/install.rb +1 -1
  12. data/lib/avm/instances/base.rb +1 -1
  13. data/lib/avm/instances/ids.rb +1 -1
  14. data/lib/avm/launcher/context/instance_manager/cached_instances.rb +1 -1
  15. data/lib/avm/launcher/context/instance_manager.rb +1 -1
  16. data/lib/avm/launcher/instances/base/publishing.rb +1 -1
  17. data/lib/avm/launcher/instances/base.rb +2 -2
  18. data/lib/avm/launcher/paths/logical.rb +3 -3
  19. data/lib/avm/launcher/publish/check_result.rb +2 -4
  20. data/lib/avm/path_string.rb +1 -1
  21. data/lib/avm/registry/from_gems.rb +2 -2
  22. data/lib/avm/result.rb +6 -10
  23. data/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +1 -1
  24. data/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +5 -6
  25. data/lib/avm/rspec/shared_examples/avm_source_generated.rb +3 -3
  26. data/lib/avm/rspec/shared_examples/entries_values.rb +2 -2
  27. data/lib/avm/rspec/shared_examples/in_avm_registry.rb +2 -2
  28. data/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +2 -2
  29. data/lib/avm/scms/auto_commit/file_resource_name.rb +1 -1
  30. data/lib/avm/scms/auto_commit/rules.rb +3 -3
  31. data/lib/avm/scms/commit_info.rb +9 -3
  32. data/lib/avm/source_generators/base.rb +1 -0
  33. data/lib/avm/source_generators/runner.rb +7 -1
  34. data/lib/avm/sources/base/subs.rb +1 -1
  35. data/lib/avm/sources/base/testing.rb +2 -2
  36. data/lib/avm/sources/tests/builder.rb +1 -1
  37. data/lib/avm/sources/tests/single.rb +1 -1
  38. data/lib/avm/version.rb +1 -1
  39. metadata +15 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 604351198d39b18f5957ac599205ee2c3553b9158a830db6cd9473c337254762
4
- data.tar.gz: 846e638a6fd9871a472da4a4dbef8614e40264e716e4bc1de6d5f99be1a26fc9
3
+ metadata.gz: e52eede48d41381c010f3e3f5141761dd463f623cfa6d8cbd25222cf6418acd8
4
+ data.tar.gz: 21c5f0f5fc0bb1943ccc05684ffdc8eaccd8e26d7eef4a47ee080e93d44fb1c4
5
5
  SHA512:
6
- metadata.gz: f0493cd888a5f886c00d04241fa4b887fd8b591d64cdbe8052c54a3098879c57968091e955854cf1b5de130106ca5a7dce3ce0b1f9d73487f637221ff71f7565
7
- data.tar.gz: 3e9410b1deb34a3f5ad68eb766db1221b05b2701c5959bfb72ec08db2791fd9ab7820762ce1df955b2e1c6112a12b9ab4ad7339a350b34eaaa5984e2947fe3b5
6
+ metadata.gz: 3874081776e2229003887e9599091c09f45c77c1a89ff326a4aa491184cba868ff28501a85892c0e23ffbb1d0d27ab5e2ce65cdcb20670c12fd47c3b3970e5ee
7
+ data.tar.gz: cc4edaff95f8ae035189993bd739b7ff51d9de8fe362fa117c67605526c1813ed653c70b3aa52626ab07eff144a79a149ad27794e5d563215c99c7d2852147c2
@@ -26,7 +26,7 @@ module Avm
26
26
  parse_publishable_value(entry(PUBLISHABLE_KEY).optional_value, false)
27
27
  end
28
28
 
29
- def parse_publishable_value(value, hash_to_true) # rubocop:disable Metrics/CyclomaticComplexity
29
+ def parse_publishable_value(value, hash_to_true)
30
30
  return value.with_indifferent_access if parse_publishable_value_hash?(value, hash_to_true)
31
31
  return true if value.nil? || value == true
32
32
  return false if value == false || value.is_a?(::EacRubyUtils::BlankNotBlank)
@@ -52,7 +52,7 @@ module Avm
52
52
  file = oldest_rotated_file
53
53
  unless file
54
54
  raise 'oldest_rotated_file returned nil ' \
55
- "(Limit: #{space_limit}, used: #{space_used})"
55
+ "(Limit: #{space_limit}, used: #{space_used})"
56
56
  end
57
57
  ::File.delete(file)
58
58
  end
@@ -93,7 +93,7 @@ module Avm
93
93
  return '_UNKNOWN_MTIME' unless ::File.exist?(source_path)
94
94
 
95
95
  t = ::File.mtime(source_path)
96
- t.strftime('_%Y-%m-%d_%H-%M-%S_') + t.strftime('%z').gsub(/\A\+/, 'P').gsub(/\A\-/, 'N')
96
+ t.strftime('_%Y-%m-%d_%H-%M-%S_') + t.strftime('%z').gsub(/\A\+/, 'P').gsub(/\A-/, 'N')
97
97
  end
98
98
 
99
99
  def file_extension(basename)
@@ -21,10 +21,10 @@ module Avm
21
21
  end
22
22
 
23
23
  attr_reader :registry
24
- attr_accessor :snapshot
25
- attr_accessor :version
24
+ attr_accessor :snapshot, :version
26
25
 
27
26
  def initialize(registry = nil)
27
+ super()
28
28
  @registry = registry || self.class.default_registry
29
29
  self.snapshot = true
30
30
  self.version = true
@@ -61,7 +61,7 @@ module Avm
61
61
  end
62
62
 
63
63
  def tag_version
64
- [tag_version_version, stereotype_tag].reject(&:blank?).join('_')
64
+ [tag_version_version, stereotype_tag].compact_blank.join('_')
65
65
  end
66
66
 
67
67
  def tag_version_version
@@ -89,7 +89,7 @@ module Avm
89
89
  def output_image_name
90
90
  return unless parsed.image_name
91
91
 
92
- out(docker_image.tag.to_s.strip + "\n")
92
+ out("#{docker_image.tag.to_s.strip}\n")
93
93
  end
94
94
 
95
95
  def registry_uncached
@@ -10,7 +10,7 @@ module Avm
10
10
  class PathComponent < ::Avm::Entries::Base::UriComponentsEntriesValues::GenericComponent
11
11
  def setup
12
12
  super
13
- define_inherited_value_proc_method { |value| value + '/' + id }
13
+ define_inherited_value_proc_method { |value| "#{value}/#{id}" }
14
14
  end
15
15
  end
16
16
  end
@@ -22,7 +22,7 @@ module Avm
22
22
 
23
23
  # @return [String]
24
24
  def key_const_set(prefix, suffix)
25
- key = [prefix, suffix].reject(&:blank?).join('.')
25
+ key = [prefix, suffix].compact_blank.join('.')
26
26
  entries_provider_class.const_set(key.gsub('.', '_').upcase, key)
27
27
  key
28
28
  end
@@ -49,7 +49,7 @@ module Avm
49
49
  # @return [String, nil]
50
50
  def field_get(name)
51
51
  v = data[name.to_sym]
52
- v.nil? ? nil : v.to_s
52
+ v&.to_s
53
53
  end
54
54
 
55
55
  def field_set(field, value)
@@ -78,7 +78,7 @@ module Avm
78
78
 
79
79
  # @return [Addressable::URI]
80
80
  def to_required_uri
81
- ::Addressable::URI.new(FIELDS.map { |f| [f.to_sym, field_get(f)] }.to_h)
81
+ ::Addressable::URI.new(FIELDS.to_h { |f| [f.to_sym, field_get(f)] })
82
82
  end
83
83
 
84
84
  private
@@ -15,7 +15,7 @@ module Avm
15
15
  private
16
16
 
17
17
  %w[xdg-open].each do |program|
18
- define_method(program.underscore + '_uncached') do
18
+ define_method("#{program.underscore}_uncached") do
19
19
  env.executable(program, '--version')
20
20
  end
21
21
  end
@@ -11,7 +11,7 @@ module Avm
11
11
  ::Avm::Instances::EntryKeys.all
12
12
  end
13
13
 
14
- ::Avm::Instances::EntryKeys.all.each do |key|
14
+ ::Avm::Instances::EntryKeys.find_each do |key|
15
15
  method_name = key.to_s.variableize
16
16
  define_method method_name do
17
17
  read_entry(key)
@@ -12,7 +12,7 @@ module Avm
12
12
  end
13
13
 
14
14
  def install_data_path_inherited_value_proc(value)
15
- value + '/' + id
15
+ "#{value}/#{id}"
16
16
  end
17
17
 
18
18
  def install_groupname_default_value
@@ -20,7 +20,7 @@ module Avm
20
20
 
21
21
  lists.add_string :access, :local, :ssh
22
22
 
23
- ID_PATTERN = /\A([a-z0-9]+(?:\-[a-z0-9]+)*)_(.+)\z/.freeze
23
+ ID_PATTERN = /\A([a-z0-9]+(?:-[a-z0-9]+)*)_(.+)\z/.freeze
24
24
 
25
25
  class << self
26
26
  def by_id(id)
@@ -6,7 +6,7 @@ module Avm
6
6
  module Instances
7
7
  module Ids
8
8
  ID_PARTS_SEPARATOR = '_'
9
- ID_PATTERN = /\A([a-z0-9]+(?:\-[a-z0-9]+)*)_(.+)\z/.freeze
9
+ ID_PATTERN = /\A([a-z0-9]+(?:-[a-z0-9]+)*)_(.+)\z/.freeze
10
10
  ID_PARSER = ID_PATTERN.to_parser do |m|
11
11
  ::Struct.new(:application_id, :instance_suffix).new(m[1], m[2])
12
12
  end
@@ -12,7 +12,7 @@ module Avm
12
12
  common_constructor :context, :content
13
13
 
14
14
  def instances
15
- content.keys.map { |k| by_logical_path(k).instance }.reject(&:blank?)
15
+ content.keys.map { |k| by_logical_path(k).instance }.compact_blank
16
16
  end
17
17
 
18
18
  def by_logical_path(key)
@@ -49,7 +49,7 @@ module Avm
49
49
  end
50
50
 
51
51
  def cache_instances(instances)
52
- write_cache_file(Hash[instances.map { |i| [i.logical, i.to_h] }])
52
+ write_cache_file(instances.to_h { |i| [i.logical, i.to_h] })
53
53
  instances
54
54
  end
55
55
 
@@ -34,7 +34,7 @@ module Avm
34
34
  next unless publish?(s)
35
35
 
36
36
  puts "#{name.to_s.cyan}|#{s.label}|" \
37
- "#{s.publish_class.new(self).check}"
37
+ "#{s.publish_class.new(self).check}"
38
38
  end
39
39
  end
40
40
 
@@ -60,11 +60,11 @@ module Avm
60
60
  end
61
61
 
62
62
  def included?
63
- !::Avm::Launcher::Context.current.settings.excluded_projects.include?(project_name)
63
+ ::Avm::Launcher::Context.current.settings.excluded_projects.exclude?(project_name)
64
64
  end
65
65
 
66
66
  def to_h
67
- super.to_h.merge(parent: parent ? parent.logical : nil)
67
+ super.to_h.merge(parent: parent&.logical)
68
68
  end
69
69
 
70
70
  private
@@ -28,7 +28,7 @@ module Avm
28
28
  end
29
29
 
30
30
  def to_h
31
- { logical: logical, real: real.to_s, parent_path: parent_path ? parent_path.to_h : nil }
31
+ { logical: logical, real: real.to_s, parent_path: parent_path&.to_h }
32
32
  end
33
33
 
34
34
  def project?
@@ -48,13 +48,13 @@ module Avm
48
48
  end
49
49
 
50
50
  def included?
51
- !context.settings.excluded_paths.include?(logical)
51
+ context.settings.excluded_paths.exclude?(logical)
52
52
  end
53
53
 
54
54
  private
55
55
 
56
56
  def stereotypes_uncached
57
- ::Avm::Launcher::Stereotype.stereotypes.select { |s| s.match?(self) }
57
+ ::Avm::Launcher::Stereotype.stereotypes.select { |s| s.match?(self) } # rubocop:disable Style/SelectByRegexp
58
58
  end
59
59
 
60
60
  def build_child(name)
@@ -13,11 +13,9 @@ module Avm
13
13
  lists.add_string :status, :updated, :pending, :blocked, :outdated
14
14
 
15
15
  lists.status.values.each do |status| # rubocop:disable Style/HashEachMethods
16
- class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
17
- def self.#{status}(message)
18
- new('#{status}', message)
16
+ singleton_class.define_method status do |message|
17
+ new(status, message)
19
18
  end
20
- RUBY_EVAL
21
19
  end
22
20
 
23
21
  class << self
@@ -21,7 +21,7 @@ module Avm
21
21
 
22
22
  # @return [Array] List of paths. Blank paths are rejected.
23
23
  def paths
24
- split(SEPARATOR).reject(&:blank?)
24
+ split(SEPARATOR).compact_blank
25
25
  end
26
26
  end
27
27
  end
@@ -47,8 +47,8 @@ module Avm
47
47
  private
48
48
 
49
49
  def raise_not_found(*args)
50
- raise("No registered module valid for #{args}" \
51
- " (Module suffix: #{module_suffix}, Available: #{available.join(', ')})")
50
+ raise("No registered module valid for #{args} " \
51
+ "(Module suffix: #{module_suffix}, Available: #{available.join(', ')})")
52
52
  end
53
53
 
54
54
  def registered_modules_uncached
data/lib/avm/result.rb CHANGED
@@ -11,11 +11,9 @@ module Avm
11
11
  lists.add_string :type, :success, :error, :neutral, :pending, :outdated
12
12
 
13
13
  lists.type.values.each do |type| # rubocop:disable Style/HashEachMethods
14
- class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
15
- def self.#{type}(value)
16
- new(value, TYPE_#{type.upcase})
17
- end
18
- RUBY_EVAL
14
+ singleton_class.define_method type do |value|
15
+ new(value, type)
16
+ end
19
17
  end
20
18
 
21
19
  TYPE_SUCCESS_COLOR = 'green'
@@ -62,11 +60,9 @@ module Avm
62
60
  end
63
61
 
64
62
  lists.type.values.each do |type| # rubocop:disable Style/HashEachMethods
65
- class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
66
- def #{type}?
67
- @type == '#{type}'
68
- end
69
- RUBY_EVAL
63
+ define_method "#{type}?" do
64
+ @type == type
65
+ end
70
66
  end
71
67
 
72
68
  private
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
- ::RSpec.shared_examples 'avm_file_format_file_resource_name' do |input_expected|
5
+ RSpec.shared_examples 'avm_file_format_file_resource_name' do |input_expected|
6
6
  describe '#file_resource_name' do
7
7
  input_expected.each do |path, expected_resource_name|
8
8
  context "when path is \"#{path}\"" do
@@ -1,14 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/parsers/source_target_fixtures'
4
3
  require 'avm/file_formats/search_formatter'
5
4
  require 'eac_ruby_utils/core_ext'
6
5
 
7
- ::RSpec.shared_examples 'avm_file_formats_with_fixtures' do |the_spec_file|
6
+ RSpec.shared_examples 'avm_file_formats_with_fixtures' do |the_spec_file|
8
7
  include_examples 'source_target_fixtures', the_spec_file
9
8
 
10
9
  def format_files_in_directory(target_dir)
11
- ::Avm::FileFormats::SearchFormatter
10
+ Avm::FileFormats::SearchFormatter
12
11
  .new([target_dir], recursive: true, apply: true, verbose: false)
13
12
  .run
14
13
  end
@@ -17,16 +16,16 @@ require 'eac_ruby_utils/core_ext'
17
16
  dir = temp_dir
18
17
  source_basename = source_file_basename_without_source_extname(source_file)
19
18
  source_path = dir.join(source_basename)
20
- ::FileUtils.cp(source_file, source_path)
19
+ FileUtils.cp(source_file, source_path)
21
20
  format_files_in_directory(dir)
22
21
  source_path.read
23
22
  end
24
23
 
25
24
  def source_file_basename_without_source_extname(source_file)
26
- source_file.to_pathname.basename_sub { |b| b.to_path.gsub(/\.source/, '') }.basename
25
+ source_file.to_pathname.basename_sub { |b| b.to_path.gsub('.source', '') }.basename
27
26
  end
28
27
 
29
28
  def target_data(target_file)
30
- ::File.read(target_file)
29
+ File.read(target_file)
31
30
  end
32
31
  end
@@ -3,8 +3,8 @@
3
3
  require 'eac_fs/comparator'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
 
6
- ::RSpec.shared_examples 'avm_source_generated' do |spec_file, stereotype, options = {}|
7
- fixtures_dir = ::Pathname.new('base_spec_files').expand_path(::File.dirname(spec_file))
6
+ RSpec.shared_examples 'avm_source_generated' do |spec_file, stereotype, options = {}|
7
+ fixtures_dir = Pathname.new('base_spec_files').expand_path(File.dirname(spec_file))
8
8
 
9
9
  fixtures_dir.children.select(&:directory?).each do |target_dir|
10
10
  context "when target is \"#{target_dir.basename}\"" do
@@ -18,6 +18,6 @@ require 'eac_ruby_utils/core_ext'
18
18
 
19
19
  # @return [EacFs::Comparato]
20
20
  def fs_comparator
21
- ::EacFs::Comparator.new.rename_file('.gitignore', '_gitignore')
21
+ EacFs::Comparator.new.rename_file('.gitignore', '_gitignore')
22
22
  end
23
23
  end
@@ -2,11 +2,11 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
- ::RSpec.shared_examples 'entries_values' do |spec_file, expected_values|
5
+ RSpec.shared_examples 'entries_values' do |spec_file, expected_values|
6
6
  describe '#read_entry' do
7
7
  config_path = spec_file.to_pathname
8
8
  config_path = config_path.dirname.join("#{config_path.basename_noext}_files", 'config.yml')
9
- ::EacRubyUtils::Rspec.default_setup.stub_eac_config_node(self, config_path)
9
+ EacRubyUtils::Rspec.default_setup.stub_eac_config_node(self, config_path)
10
10
 
11
11
  expected_values.each do |instance_id, values|
12
12
  values.each do |input, expected|
@@ -2,8 +2,8 @@
2
2
 
3
3
  require 'avm/registry'
4
4
 
5
- ::RSpec.shared_examples 'in_avm_registry' do |registry_method|
6
- let(:avm_registry) { ::Avm::Registry.send(registry_method) }
5
+ RSpec.shared_examples 'in_avm_registry' do |registry_method|
6
+ let(:avm_registry) { Avm::Registry.send(registry_method) }
7
7
 
8
8
  it 'is in the avm registry' do
9
9
  expect(avm_registry.registered_modules).to include(described_class)
@@ -2,8 +2,8 @@
2
2
 
3
3
  require 'avm/registry'
4
4
 
5
- ::RSpec.shared_examples 'not_in_avm_registry' do |registry_method = nil|
6
- registry_method.if_present(::Avm::Registry.registries) { |v| [::Avm::Registry.send(v)] }
5
+ RSpec.shared_examples 'not_in_avm_registry' do |registry_method = nil|
6
+ registry_method.if_present(Avm::Registry.registries) { |v| [Avm::Registry.send(v)] }
7
7
  .each do |registry|
8
8
  context "when registry is #{registry}" do
9
9
  it 'is not in the avm registry' do
@@ -20,7 +20,7 @@ module Avm
20
20
  def commit_message
21
21
  r = class_name
22
22
  r += ': remove' unless path.file?
23
- r + '.'
23
+ "#{r}."
24
24
  end
25
25
 
26
26
  def relative_path
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
- ::EacRubyUtils.require_sub __FILE__
5
+ EacRubyUtils.require_sub __FILE__
6
6
 
7
7
  module Avm
8
8
  module Scms
@@ -26,8 +26,8 @@ module Avm
26
26
 
27
27
  def rule_class_by_key(key)
28
28
  RULES_CLASSES.find { |klass| klass.keys.include?(key) } ||
29
- raise("Rule not find with key \"#{key}\" (Available: " +
30
- RULES_CLASSES.flat_map(&:keys).join(', ') + ')')
29
+ raise("Rule not find with key \"#{key}\" (Available: " \
30
+ "#{RULES_CLASSES.flat_map(&:keys).join(', ')})")
31
31
  end
32
32
  end
33
33
  end
@@ -24,9 +24,15 @@ module Avm
24
24
  immutable_accessor :path, type: :array
25
25
 
26
26
  def to_s
27
- self.class.name.demodulize + '[' +
28
- %w[fixup message].map { |m| [m, send(m)] }.reject { |m| m[1].blank? }
29
- .map { |m| m.join(': ') }.join(',') + ']'
27
+ "#{self.class.name.demodulize}[#{attributes_to_s}]"
28
+ end
29
+
30
+ private
31
+
32
+ # @return [String]
33
+ def attributes_to_s
34
+ %w[fixup message].map { |m| [m, send(m)] }.reject { |m| m[1].blank? }
35
+ .map { |m| m.join(': ') }.join(',')
30
36
  end
31
37
  end
32
38
  end
@@ -7,6 +7,7 @@ require 'eac_ruby_utils/core_ext'
7
7
  module Avm
8
8
  module SourceGenerators
9
9
  class Base
10
+ acts_as_abstract
10
11
  include ::Avm::With::ApplicationStereotype
11
12
 
12
13
  class << self
@@ -25,6 +25,12 @@ module Avm
25
25
  success "Source generated in \"#{generator.target_path}\""
26
26
  end
27
27
 
28
+ # @return [String]
29
+ def help_extra_text
30
+ help_list_section('Stereotypes', ::Avm::Registry.source_generators.available
31
+ .map(&:application_stereotype_name))
32
+ end
33
+
28
34
  def start_banner
29
35
  infov 'Stereotype', stereotype_name
30
36
  infov 'Target path', target_path
@@ -41,7 +47,7 @@ module Avm
41
47
 
42
48
  # @return [Hash<String, String>]
43
49
  def options
44
- parsed.option.map { |v| v.split(OPTION_NAME_VALUE_SEPARATOR) }.to_h
50
+ parsed.option.to_h { |v| v.split(OPTION_NAME_VALUE_SEPARATOR) }
45
51
  end
46
52
 
47
53
  def target_path
@@ -28,7 +28,7 @@ module Avm
28
28
  def subs
29
29
  subs_paths_to_search
30
30
  .map { |sub_path| ::Avm::Registry.sources.detect_optional(sub_path, parent: self) }
31
- .reject(&:blank?)
31
+ .compact_blank
32
32
  .sort_by { |sub| [sub.path] }
33
33
  end
34
34
 
@@ -57,12 +57,12 @@ module Avm
57
57
 
58
58
  def configured_enumerable_value_as_test_commands(value)
59
59
  configured_hash_value_as_test_commands(
60
- value.each_with_index.map { |v, i| ["test_#{i}", v] }.to_h
60
+ value.each_with_index.to_h { |v, i| ["test_#{i}", v] }
61
61
  )
62
62
  end
63
63
 
64
64
  def configured_hash_value_as_test_commands(value)
65
- value.map { |k, v| [k.to_s.strip, configuration_value_to_env_command(v)] }.to_h
65
+ value.to_h { |k, v| [k.to_s.strip, configuration_value_to_env_command(v)] }
66
66
  end
67
67
  end
68
68
  end
@@ -73,7 +73,7 @@ module Avm
73
73
  return r if r.any?
74
74
 
75
75
  raise ::ArgumentError, "Source not found with ID=#{source_id}" \
76
- "(Available: #{available_units.map(&:id).join(', ')})"
76
+ "(Available: #{available_units.map(&:id).join(', ')})"
77
77
  end
78
78
 
79
79
  # @return [Array<Avm::Sources::Tests::Single>]
@@ -24,7 +24,7 @@ module Avm
24
24
 
25
25
  # @return [String]
26
26
  def id
27
- "#{main? ? MAIN_SOURCE_ID : relative_path_from_main_source}\##{test_name}"
27
+ "#{main? ? MAIN_SOURCE_ID : relative_path_from_main_source}##{test_name}"
28
28
  end
29
29
 
30
30
  def main?
data/lib/avm/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.83.0'
4
+ VERSION = '0.84.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.83.0
4
+ version: 0.84.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-08 00:00:00.000000000 Z
11
+ date: 2023-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-parsers
@@ -16,34 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.21'
19
+ version: '0.22'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.21'
26
+ version: '0.22'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: eac_cli
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.38'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 0.38.1
33
+ version: '0.39'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: '0.38'
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 0.38.1
40
+ version: '0.39'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: eac_config
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -118,20 +112,14 @@ dependencies:
118
112
  requirements:
119
113
  - - "~>"
120
114
  - !ruby/object:Gem::Version
121
- version: '0.119'
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: 0.119.2
115
+ version: '0.120'
125
116
  type: :runtime
126
117
  prerelease: false
127
118
  version_requirements: !ruby/object:Gem::Requirement
128
119
  requirements:
129
120
  - - "~>"
130
121
  - !ruby/object:Gem::Version
131
- version: '0.119'
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: 0.119.2
122
+ version: '0.120'
135
123
  - !ruby/object:Gem::Dependency
136
124
  name: eac_templates
137
125
  requirement: !ruby/object:Gem::Requirement
@@ -200,42 +188,42 @@ dependencies:
200
188
  requirements:
201
189
  - - "~>"
202
190
  - !ruby/object:Gem::Version
203
- version: '0.24'
191
+ version: '0.33'
204
192
  type: :development
205
193
  prerelease: false
206
194
  version_requirements: !ruby/object:Gem::Requirement
207
195
  requirements:
208
196
  - - "~>"
209
197
  - !ruby/object:Gem::Version
210
- version: '0.24'
198
+ version: '0.33'
211
199
  - !ruby/object:Gem::Dependency
212
200
  name: avm-git
213
201
  requirement: !ruby/object:Gem::Requirement
214
202
  requirements:
215
203
  - - "~>"
216
204
  - !ruby/object:Gem::Version
217
- version: '0.7'
205
+ version: '0.14'
218
206
  type: :development
219
207
  prerelease: false
220
208
  version_requirements: !ruby/object:Gem::Requirement
221
209
  requirements:
222
210
  - - "~>"
223
211
  - !ruby/object:Gem::Version
224
- version: '0.7'
212
+ version: '0.14'
225
213
  - !ruby/object:Gem::Dependency
226
214
  name: eac_ruby_gem_support
227
215
  requirement: !ruby/object:Gem::Requirement
228
216
  requirements:
229
217
  - - "~>"
230
218
  - !ruby/object:Gem::Version
231
- version: 0.5.1
219
+ version: '0.9'
232
220
  type: :development
233
221
  prerelease: false
234
222
  version_requirements: !ruby/object:Gem::Requirement
235
223
  requirements:
236
224
  - - "~>"
237
225
  - !ruby/object:Gem::Version
238
- version: 0.5.1
226
+ version: '0.9'
239
227
  description:
240
228
  email:
241
229
  executables: []
@@ -459,7 +447,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
459
447
  requirements:
460
448
  - - ">="
461
449
  - !ruby/object:Gem::Version
462
- version: '0'
450
+ version: '2.7'
463
451
  required_rubygems_version: !ruby/object:Gem::Requirement
464
452
  requirements:
465
453
  - - ">="