29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/inspec/resources/cran.rb', line 29
def info
return @info if defined?(@info)
@info = {}
@info[:type] = "cran"
@info[:name] = @package_name
cmd = inspec.command("#{@r_cmd} -e 'packageVersion(\"#{@package_name}\")'")
return @info unless cmd.exit_status == 0
utf8_stdout = cmd.stdout.chomp.force_encoding(Encoding::UTF_8)
params = /^\[\d+\]\s+(?:['\p{Initial_Punctuation}])(.+)(?:['\p{Final_Punctuation}])$/.match(utf8_stdout)
@info[:installed] = !params.nil?
return @info unless @info[:installed]
@info[:version] = params[1]
@info
end
|