Class: PDK::Validate::BaseValidator
- Inherits:
-
Object
- Object
- PDK::Validate::BaseValidator
show all
- Defined in:
- lib/pdk/validators/base_validator.rb
Class Method Summary
collapse
Class Method Details
.cmd_path ⇒ Object
7
8
9
|
# File 'lib/pdk/validators/base_validator.rb', line 7
def self.cmd_path
File.join(PDK::Util.module_root, 'bin', cmd)
end
|
.invoke(report, options = {}) ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/pdk/validators/base_validator.rb', line 42
def self.invoke(report, options = {})
PDK::Util::Bundler.ensure_binstubs!(cmd)
targets = parse_targets(options)
cmd_argv = parse_options(options, targets).unshift(cmd_path)
cmd_argv.unshift('ruby') if Gem.win_platform?
PDK.logger.debug(_('Running %{cmd}') % { cmd: cmd_argv.join(' ') })
command = PDK::CLI::Exec::Command.new(*cmd_argv).tap do |c|
c.context = :module
c.add_spinner(spinner_text)
end
result = command.execute!
begin
json_data = JSON.parse(result[:stdout])
rescue JSON::ParserError
json_data = []
end
parse_output(report, json_data)
result[:exit_code]
end
|
.parse_options(_options, targets) ⇒ Object
34
35
36
|
# File 'lib/pdk/validators/base_validator.rb', line 34
def self.parse_options(_options, targets)
targets
end
|
.parse_targets(options) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/pdk/validators/base_validator.rb', line 11
def self.parse_targets(options)
targets = if options[:targets].nil? || options[:targets].empty?
[PDK::Util.module_root]
else
options[:targets]
end
targets.map { |target|
if respond_to?(:pattern)
if File.directory?(target)
files_glob = Array[pattern].flatten.map { |p| Dir.glob(File.join(target, p)) }
files_glob.flatten.empty? ? target : files_glob
else
target
end
else
target
end
}.flatten
end
|
.spinner_text ⇒ Object
38
39
40
|
# File 'lib/pdk/validators/base_validator.rb', line 38
def self.spinner_text
_('Invoking %{cmd}') % { cmd: cmd }
end
|