eac_ruby_utils 0.82.1 → 0.86.0
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.
- checksums.yaml +4 -4
- data/lib/eac_ruby_utils/context.rb +2 -0
- data/lib/eac_ruby_utils/envs/executable.rb +21 -3
- data/lib/eac_ruby_utils/patches/hash/to_struct.rb +10 -0
- data/lib/eac_ruby_utils/patches/pathname/if_exist.rb +10 -0
- data/lib/eac_ruby_utils/patches/pathname/readlink_r.rb +11 -0
- data/lib/eac_ruby_utils/rspec/stub_speaker.rb +39 -0
- data/lib/eac_ruby_utils/speaker/receiver.rb +7 -0
- data/lib/eac_ruby_utils/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb43d75df268978d9c55132da9f3e397fff08e830f699911cd1603927b4bedb8
|
4
|
+
data.tar.gz: 2eff47acaff0d353be69220b4ee511fa39ddccf2cf2e7cab0e6d4f3bad246d68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e69e6e3dfcaea37b1c1b7723289fd36cb163c9535d60d93a2ab52c428b1fc4ebaad30bb4acd5b1891a3357467942b4721e06a180521fc373cb22ef6c183d0249
|
7
|
+
data.tar.gz: dbf10280434bf5ad40b32cd0cac112e448174b1e93bafffb6d7eeed39c9389292bac59e8c8908da04792d79104c2d2a39d2b77bad0b19f2961071b040885fe01
|
@@ -1,18 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'eac_ruby_utils/listable'
|
3
4
|
require 'eac_ruby_utils/simple_cache'
|
4
5
|
|
5
6
|
module EacRubyUtils
|
6
7
|
module Envs
|
7
8
|
class Executable
|
9
|
+
include ::EacRubyUtils::Listable
|
8
10
|
include ::EacRubyUtils::SimpleCache
|
9
11
|
|
10
|
-
|
12
|
+
lists.add_symbol :option, :check_args, :auto_validate
|
13
|
+
|
14
|
+
DEFAULT_AUTO_VALIDATE = true
|
15
|
+
|
16
|
+
attr_reader :env, :name, :options
|
11
17
|
|
12
18
|
def initialize(env, name, *check_args)
|
13
19
|
@env = env
|
14
20
|
@name = name
|
15
|
-
|
21
|
+
self.options = self.class.lists.option.hash_keys_validate!(check_args.extract_options!)
|
22
|
+
options[OPTION_CHECK_ARGS] = check_args unless options.key?(OPTION_CHECK_ARGS)
|
23
|
+
options.freeze
|
24
|
+
end
|
25
|
+
|
26
|
+
def auto_validate?
|
27
|
+
options.key?(OPTION_AUTO_VALIDATE) ? options[OPTION_AUTO_VALIDATE] : DEFAULT_AUTO_VALIDATE
|
28
|
+
end
|
29
|
+
|
30
|
+
def check_args
|
31
|
+
options[OPTION_CHECK_ARGS]
|
16
32
|
end
|
17
33
|
|
18
34
|
def exist?
|
@@ -32,7 +48,7 @@ module EacRubyUtils
|
|
32
48
|
end
|
33
49
|
|
34
50
|
def command(*command_args)
|
35
|
-
validate!
|
51
|
+
validate! if auto_validate?
|
36
52
|
env.command(*executable_args, *command_args)
|
37
53
|
end
|
38
54
|
|
@@ -50,6 +66,8 @@ module EacRubyUtils
|
|
50
66
|
|
51
67
|
private
|
52
68
|
|
69
|
+
attr_writer :options
|
70
|
+
|
53
71
|
def exist_uncached
|
54
72
|
env.command(*executable_args, *check_args).execute!
|
55
73
|
true
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/speaker/receiver'
|
4
|
+
|
5
|
+
module EacRubyUtils
|
6
|
+
module Rspec
|
7
|
+
class StubSpeaker
|
8
|
+
include ::EacRubyUtils::Speaker::Receiver
|
9
|
+
|
10
|
+
def error(_string); end
|
11
|
+
|
12
|
+
def fatal_error(string)
|
13
|
+
error(string)
|
14
|
+
raise('Fatal error')
|
15
|
+
end
|
16
|
+
|
17
|
+
# @see EacRubyUtils::Speaker::Sender.input
|
18
|
+
def input(_question, _options = {})
|
19
|
+
raise 'Input requested'
|
20
|
+
end
|
21
|
+
|
22
|
+
def info(_string); end
|
23
|
+
|
24
|
+
def infom(_string); end
|
25
|
+
|
26
|
+
def infov(*_args); end
|
27
|
+
|
28
|
+
def out(_string = ''); end
|
29
|
+
|
30
|
+
def puts(_string = ''); end
|
31
|
+
|
32
|
+
def success(_string); end
|
33
|
+
|
34
|
+
def title(_string); end
|
35
|
+
|
36
|
+
def warn(_string); end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -5,8 +5,15 @@ require 'eac_ruby_utils/abstract_methods'
|
|
5
5
|
module EacRubyUtils
|
6
6
|
module Speaker
|
7
7
|
module Receiver
|
8
|
+
extend ::ActiveSupport::Concern
|
8
9
|
extend ::EacRubyUtils::AbstractMethods
|
9
10
|
|
11
|
+
module ClassMethods
|
12
|
+
def on(*args, &block)
|
13
|
+
::EacRubyUtils::Speaker.context.on(new(*args), &block)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
10
17
|
def error(_string)
|
11
18
|
raise_abstract_method(__method__)
|
12
19
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_ruby_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.86.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -178,6 +178,7 @@ files:
|
|
178
178
|
- lib/eac_ruby_utils/patches/hash.rb
|
179
179
|
- lib/eac_ruby_utils/patches/hash/options_consumer.rb
|
180
180
|
- lib/eac_ruby_utils/patches/hash/sym_keys_hash.rb
|
181
|
+
- lib/eac_ruby_utils/patches/hash/to_struct.rb
|
181
182
|
- lib/eac_ruby_utils/patches/kernel.rb
|
182
183
|
- lib/eac_ruby_utils/patches/kernel/nyi.rb
|
183
184
|
- lib/eac_ruby_utils/patches/module.rb
|
@@ -204,8 +205,10 @@ files:
|
|
204
205
|
- lib/eac_ruby_utils/patches/object/to_pathname.rb
|
205
206
|
- lib/eac_ruby_utils/patches/pathname.rb
|
206
207
|
- lib/eac_ruby_utils/patches/pathname/basename_sub.rb
|
208
|
+
- lib/eac_ruby_utils/patches/pathname/if_exist.rb
|
207
209
|
- lib/eac_ruby_utils/patches/pathname/mkpath_s.rb
|
208
210
|
- lib/eac_ruby_utils/patches/pathname/parent_n.rb
|
211
|
+
- lib/eac_ruby_utils/patches/pathname/readlink_r.rb
|
209
212
|
- lib/eac_ruby_utils/patches/regexp.rb
|
210
213
|
- lib/eac_ruby_utils/patches/regexp/if_match.rb
|
211
214
|
- lib/eac_ruby_utils/patches/regexp/to_parser.rb
|
@@ -222,6 +225,7 @@ files:
|
|
222
225
|
- lib/eac_ruby_utils/rspec/setup.rb
|
223
226
|
- lib/eac_ruby_utils/rspec/setup/conditionals.rb
|
224
227
|
- lib/eac_ruby_utils/rspec/setup_manager.rb
|
228
|
+
- lib/eac_ruby_utils/rspec/stub_speaker.rb
|
225
229
|
- lib/eac_ruby_utils/ruby.rb
|
226
230
|
- lib/eac_ruby_utils/ruby/command.rb
|
227
231
|
- lib/eac_ruby_utils/ruby/on_clean_environment.rb
|