avm-eac_generic_base0 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 403cea1bec4fa94ef822c35dd730187c37d2532f4912f0a993558a88cb72ee6f
4
+ data.tar.gz: 10915c9f9a72b76d575bedc3f2b4a3366b017a819d7e3990fb83c325d5280910
5
+ SHA512:
6
+ metadata.gz: d8489209dd65fd784b6e146ea344885b03af3d3ab51ae63dbfad9dd14d7ba54c588d49ca10a40a2883f00d74c2c6cd31ef4fab93c50efeb90e82dd335be81b21
7
+ data.tar.gz: 2a0f094c8072894a5e00a49e6be905c69a9fe69c4d4e605b72fc0aba211eb4d5a06ed6e9500a375ffad839d433edf7cf33aa2bdfde5a14e4c6c7619cf04a24a8
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_generic_base0/sources/tester'
4
+ require 'avm/sources/base'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module EacGenericBase0
9
+ module Sources
10
+ class Base < ::Avm::Sources::Base
11
+ # @return [Avm::EacGenericBase0::Sources::Tester]
12
+ def tester_class
13
+ Avm::EacGenericBase0::Sources::Tester
14
+ end
15
+
16
+ def valid?
17
+ path.directory?
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/sources/tester'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacGenericBase0
8
+ module Sources
9
+ class Tester < ::Avm::Sources::Tester
10
+ TEST_COMMAND_CONFIGURATION_KEY = :test_command
11
+
12
+ enable_simple_cache
13
+
14
+ # @return [EacRubyUtils::Envs::Command, nil]
15
+ def test_command
16
+ source.read_configuration_as_shell_words(TEST_COMMAND_CONFIGURATION_KEY)
17
+ .if_present do |args|
18
+ ::EacRubyUtils::Envs.local.command(args).chdir(source.path)
19
+ end
20
+ end
21
+
22
+ # @return [EacRubyUtils::Fs::Logs]
23
+ def logs
24
+ @logs ||= ::EacRubyUtils::Fs::Logs.new.add(:stdout).add(:stderr)
25
+ end
26
+
27
+ # @return [Avm::Sources::Tests::Result]
28
+ def result
29
+ @result ||= begin
30
+ if test_command.blank?
31
+ ::Avm::Sources::Tests::Result::NONEXISTENT
32
+ elsif run_test_command
33
+ ::Avm::Sources::Tests::Result::SUCESSFUL
34
+ else
35
+ ::Avm::Sources::Tests::Result::FAILED
36
+ end
37
+ end
38
+ end
39
+
40
+ protected
41
+
42
+ def run_test_command
43
+ execute_command_and_log(test_command)
44
+ end
45
+
46
+ # @return [true, false]
47
+ def execute_command_and_log(command)
48
+ r = command.execute
49
+ logs[:stdout].write(r[:stdout])
50
+ logs[:stderr].write(r[:stderr])
51
+ r[:exit_code].zero?
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacGenericBase0
7
+ module Sources
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacGenericBase0
5
+ VERSION = '0.1.0'
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacGenericBase0
7
+ require_sub __FILE__
8
+ end
9
+ end
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: avm-eac_generic_base0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Put here the authors
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-11-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: avm
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.10'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: eac_ruby_utils
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.80'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.80'
41
+ - !ruby/object:Gem::Dependency
42
+ name: eac_ruby_gem_support
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.4'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.4'
55
+ description:
56
+ email:
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - lib/avm/eac_generic_base0.rb
62
+ - lib/avm/eac_generic_base0/sources.rb
63
+ - lib/avm/eac_generic_base0/sources/base.rb
64
+ - lib/avm/eac_generic_base0/sources/tester.rb
65
+ - lib/avm/eac_generic_base0/version.rb
66
+ homepage:
67
+ licenses: []
68
+ metadata: {}
69
+ post_install_message:
70
+ rdoc_options: []
71
+ require_paths:
72
+ - lib
73
+ required_ruby_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ required_rubygems_version: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ requirements: []
84
+ rubygems_version: 3.1.6
85
+ signing_key:
86
+ specification_version: 4
87
+ summary: Put here de description.
88
+ test_files: []