avm 0.83.0 → 0.84.1

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="