openfact 5.7.0 → 6.0.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/docs/generate.rb +1 -5
- data/lib/facter/custom_facts/core/aggregate.rb +2 -4
- data/lib/facter/custom_facts/core/execution/base.rb +10 -6
- data/lib/facter/custom_facts/core/execution/posix.rb +5 -5
- data/lib/facter/custom_facts/core/execution/windows.rb +5 -5
- data/lib/facter/custom_facts/core/execution.rb +3 -1
- data/lib/facter/custom_facts/core/resolvable.rb +4 -6
- data/lib/facter/custom_facts/util/collection.rb +0 -2
- data/lib/facter/custom_facts/util/config.rb +1 -1
- data/lib/facter/custom_facts/util/directory_loader.rb +2 -6
- data/lib/facter/custom_facts/util/fact.rb +2 -21
- data/lib/facter/custom_facts/util/parser.rb +5 -5
- data/lib/facter/custom_facts/util/resolution.rb +15 -8
- data/lib/facter/facts/aix/networking/interfaces.rb +1 -1
- data/lib/facter/facts/freebsd/ec2_metadata.rb +1 -1
- data/lib/facter/facts/freebsd/ec2_userdata.rb +1 -1
- data/lib/facter/facts/linux/az_metadata.rb +1 -1
- data/lib/facter/facts/linux/dhcp_servers.rb +1 -1
- data/lib/facter/facts/linux/ec2_metadata.rb +1 -1
- data/lib/facter/facts/linux/ec2_userdata.rb +1 -1
- data/lib/facter/facts/macosx/dhcp_servers.rb +1 -1
- data/lib/facter/facts/openbsd/ec2_metadata.rb +1 -1
- data/lib/facter/facts/openbsd/ec2_userdata.rb +1 -1
- data/lib/facter/facts/solaris/dhcp_servers.rb +1 -1
- data/lib/facter/facts/windows/az_metadata.rb +1 -1
- data/lib/facter/facts/windows/dhcp_servers.rb +1 -1
- data/lib/facter/facts/windows/ec2_metadata.rb +1 -1
- data/lib/facter/facts/windows/ec2_userdata.rb +1 -1
- data/lib/facter/framework/cli/cli.rb +6 -6
- data/lib/facter/framework/core/cache_manager.rb +3 -6
- data/lib/facter/framework/core/options/option_store.rb +1 -1
- data/lib/facter/framework/core/options.rb +1 -1
- data/lib/facter/framework/formatters/legacy_fact_formatter.rb +1 -1
- data/lib/facter/models/fact_collection.rb +1 -3
- data/lib/facter/resolvers/aix/ffi/ffi_helper.rb +1 -1
- data/lib/facter/resolvers/aix/mountpoints.rb +3 -3
- data/lib/facter/resolvers/aix/networking.rb +1 -1
- data/lib/facter/resolvers/az.rb +1 -1
- data/lib/facter/resolvers/ec2.rb +1 -1
- data/lib/facter/resolvers/gce.rb +1 -1
- data/lib/facter/resolvers/linux/docker_uptime.rb +1 -1
- data/lib/facter/resolvers/linux/hostname.rb +1 -1
- data/lib/facter/resolvers/linux/processors.rb +1 -1
- data/lib/facter/resolvers/macosx/mountpoints.rb +1 -0
- data/lib/facter/resolvers/mountpoints.rb +1 -1
- data/lib/facter/resolvers/networking.rb +1 -2
- data/lib/facter/resolvers/path.rb +1 -1
- data/lib/facter/resolvers/selinux.rb +1 -1
- data/lib/facter/resolvers/solaris/ffi/functions.rb +1 -0
- data/lib/facter/resolvers/solaris/mountpoints.rb +1 -0
- data/lib/facter/resolvers/solaris/networking.rb +1 -2
- data/lib/facter/resolvers/solaris/os_release.rb +1 -1
- data/lib/facter/resolvers/solaris/processors.rb +1 -1
- data/lib/facter/resolvers/uname.rb +3 -3
- data/lib/facter/resolvers/windows/processors.rb +6 -6
- data/lib/facter/resolvers/windows/ssh.rb +1 -1
- data/lib/facter/resolvers/windows/system32.rb +1 -1
- data/lib/facter/resolvers/windows/timezone.rb +1 -1
- data/lib/facter/resolvers/windows/uptime.rb +1 -2
- data/lib/facter/resolvers/windows/virtualization.rb +1 -2
- data/lib/facter/resolvers/windows/win_os_description.rb +1 -2
- data/lib/facter/util/api_debugger.rb +1 -1
- data/lib/facter/util/facts/posix/virtual_detector.rb +2 -2
- data/lib/facter/util/facts/unit_converter.rb +2 -2
- data/lib/facter/util/facts/uptime_parser.rb +9 -9
- data/lib/facter/util/macosx/system_profile_executor.rb +1 -1
- data/lib/facter/util/resolvers/ffi/hostname.rb +1 -0
- data/lib/facter/util/resolvers/ffi/load_averages.rb +1 -0
- data/lib/facter/util/resolvers/networking/networking.rb +3 -3
- data/lib/facter/version.rb +1 -1
- data/lib/facter.rb +1 -1
- metadata +9 -21
|
@@ -33,7 +33,7 @@ module Facter
|
|
|
33
33
|
|
|
34
34
|
return if Libc.getkerninfo(KINFO_READ | KINFO_GET_AVENRUN, averages, averages_size, 0).negative?
|
|
35
35
|
|
|
36
|
-
averages.read_array_of_long_long(3).map { |x|
|
|
36
|
+
averages.read_array_of_long_long(3).map { |x| x / 65_536.0 }
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
def self.read_interfaces
|
|
@@ -31,11 +31,11 @@ module Facter
|
|
|
31
31
|
def add_mount_points_fact(line)
|
|
32
32
|
elem = line.split("\s")
|
|
33
33
|
|
|
34
|
-
if line[0]
|
|
34
|
+
if line[0] == ' '
|
|
35
|
+
device = elem[0]
|
|
36
|
+
else
|
|
35
37
|
server = elem.shift
|
|
36
38
|
device = "#{server}:#{elem[0]}"
|
|
37
|
-
else
|
|
38
|
-
device = elem[0]
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
@fact_list[:mountpoints][elem[1]] = { device: device, filesystem: elem[2],
|
|
@@ -16,7 +16,7 @@ module Facter
|
|
|
16
16
|
def read_netstat(fact_name)
|
|
17
17
|
@fact_list[:interfaces] = {}
|
|
18
18
|
output = Facter::Core::Execution.execute('netstat -rn', logger: log)
|
|
19
|
-
output = output.each_line.select { |line|
|
|
19
|
+
output = output.each_line.select { |line| line =~ /\s\s[0-9]+.[0-9]+.[0-9]+.[0-9]+|\s\s.*:[0-9a-f]+/ }
|
|
20
20
|
@fact_list[:interfaces] = load_interfaces
|
|
21
21
|
|
|
22
22
|
populate_with_mtu_and_mac!(@fact_list[:interfaces])
|
data/lib/facter/resolvers/az.rb
CHANGED
data/lib/facter/resolvers/ec2.rb
CHANGED
data/lib/facter/resolvers/gce.rb
CHANGED
|
@@ -6,7 +6,7 @@ module Facter
|
|
|
6
6
|
init_resolver
|
|
7
7
|
|
|
8
8
|
METADATA_URL = 'http://metadata.google.internal/computeMetadata/v1/?recursive=true&alt=json'
|
|
9
|
-
HEADERS = {
|
|
9
|
+
HEADERS = { 'Metadata-Flavor': 'Google', Accept: 'application/json' }.freeze
|
|
10
10
|
|
|
11
11
|
class << self
|
|
12
12
|
private
|
|
@@ -70,7 +70,7 @@ module Facter
|
|
|
70
70
|
.select { |dir| dir =~ /cpu[0-9]+$/ }
|
|
71
71
|
.select { |dir| File.exist?("/sys/devices/system/cpu/#{dir}/topology/physical_package_id") }
|
|
72
72
|
.map do |dir|
|
|
73
|
-
|
|
73
|
+
Facter::Util::FileHelper.safe_read("/sys/devices/system/cpu/#{dir}/topology/physical_package_id").strip
|
|
74
74
|
end
|
|
75
75
|
.uniq.count
|
|
76
76
|
end
|
|
@@ -48,7 +48,7 @@ module Facter
|
|
|
48
48
|
mount = {}
|
|
49
49
|
get_mount_data(file_system, mount)
|
|
50
50
|
|
|
51
|
-
if mount[:path] =~ %r{^/(proc|sys)} && mount[:filesystem] != 'tmpfs' || mount[:filesystem] == 'autofs'
|
|
51
|
+
if (mount[:path] =~ %r{^/(proc|sys)} && mount[:filesystem] != 'tmpfs') || mount[:filesystem] == 'autofs'
|
|
52
52
|
next
|
|
53
53
|
end
|
|
54
54
|
|
|
@@ -97,8 +97,7 @@ module Facter
|
|
|
97
97
|
def extract_dhcp(interface_name, raw_data, parsed_interface_data)
|
|
98
98
|
return unless /status:\s+active/.match?(raw_data)
|
|
99
99
|
|
|
100
|
-
result = Facter::Core::Execution.execute("ipconfig getoption #{interface_name} "
|
|
101
|
-
'server_identifier', logger: log)
|
|
100
|
+
result = Facter::Core::Execution.execute("ipconfig getoption #{interface_name} server_identifier", logger: log)
|
|
102
101
|
|
|
103
102
|
parsed_interface_data[:dhcp] = result.match(/^[\d.a-f:\s]+$/)&.to_s&.strip unless result.empty?
|
|
104
103
|
end
|
|
@@ -55,8 +55,7 @@ module Facter
|
|
|
55
55
|
ioctl = FFI::Ioctl.ioctl(FFI::SIOCGARP, arp, lifreq.ss_family)
|
|
56
56
|
|
|
57
57
|
if ioctl == -1
|
|
58
|
-
@log.debug("Could not read MAC address for interface #{lifreq.name} "
|
|
59
|
-
"error code is: #{::FFI::LastError.error}")
|
|
58
|
+
@log.debug("Could not read MAC address for interface #{lifreq.name} error code is: #{::FFI::LastError.error}")
|
|
60
59
|
end
|
|
61
60
|
|
|
62
61
|
mac = arp.sa_data_to_mac
|
|
@@ -35,7 +35,7 @@ module Facter
|
|
|
35
35
|
def search_for_os_version(regex_pattern, text)
|
|
36
36
|
result = text.match(regex_pattern)
|
|
37
37
|
major, minor = result.captures if result
|
|
38
|
-
minor = regex_pattern == /Solaris (\d+)/
|
|
38
|
+
minor = '0' if regex_pattern == /Solaris (\d+)/
|
|
39
39
|
[major, minor] if major && minor
|
|
40
40
|
end
|
|
41
41
|
end
|
|
@@ -24,7 +24,7 @@ module Facter
|
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
def parse_output(output)
|
|
27
|
-
@fact_list[:logical_count] = output.scan(
|
|
27
|
+
@fact_list[:logical_count] = output.scan('module').size
|
|
28
28
|
@fact_list[:physical_count] = output.scan(/chip_id .*/).uniq.size
|
|
29
29
|
# .scan(//current_clock_Hz\s+(\d+)/) returns [['123']] (or [['123'], ['456']] if there are more matches)
|
|
30
30
|
@fact_list[:speed] = output.scan(/current_clock_Hz\s+(\d+)/).first&.first&.to_i
|
|
@@ -28,7 +28,9 @@ module Facter
|
|
|
28
28
|
def build_fact_list(output)
|
|
29
29
|
uname_results = output.split("\n")
|
|
30
30
|
|
|
31
|
-
if
|
|
31
|
+
if uname_results.empty?
|
|
32
|
+
log.warn('Request to uname returned no output. Uname related facts are not populated.')
|
|
33
|
+
else
|
|
32
34
|
@fact_list[:machine],
|
|
33
35
|
@fact_list[:nodename],
|
|
34
36
|
@fact_list[:processor],
|
|
@@ -39,8 +41,6 @@ module Facter
|
|
|
39
41
|
# Fall back to -m (machine), which is the procedure suggested by the
|
|
40
42
|
# uutils/coreutils developers.
|
|
41
43
|
@fact_list[:processor] = @fact_list[:machine] if @fact_list[:processor] == 'unknown'
|
|
42
|
-
else
|
|
43
|
-
log.warn('Request to uname returned no output. Uname related facts are not populated.')
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
end
|
|
@@ -19,14 +19,14 @@ module Facter
|
|
|
19
19
|
|
|
20
20
|
def read_fact_from_win32_processor(fact_name)
|
|
21
21
|
win = Facter::Util::Windows::Win32Ole.new
|
|
22
|
-
query_string = 'SELECT Name,'\
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
query_string = 'SELECT Name,' \
|
|
23
|
+
'Architecture,' \
|
|
24
|
+
'NumberOfLogicalProcessors,' \
|
|
25
|
+
'NumberOfCores FROM Win32_Processor'
|
|
26
26
|
proc = win.exec_query(query_string)
|
|
27
27
|
unless proc
|
|
28
|
-
log.debug 'WMI query returned no results'\
|
|
29
|
-
|
|
28
|
+
log.debug 'WMI query returned no results' \
|
|
29
|
+
'for Win32_Processor with values Name, Architecture and NumberOfLogicalProcessors.'
|
|
30
30
|
return
|
|
31
31
|
end
|
|
32
32
|
result = iterate_proc(proc)
|
|
@@ -15,7 +15,7 @@ module Facter
|
|
|
15
15
|
def retrieve_windows_binaries_path
|
|
16
16
|
require_relative '../../../facter/resolvers/windows/ffi/system32_ffi'
|
|
17
17
|
|
|
18
|
-
windows_path = ENV['SystemRoot']
|
|
18
|
+
windows_path = ENV['SystemRoot'] # rubocop:disable Style/FetchEnvVar
|
|
19
19
|
|
|
20
20
|
if !windows_path || windows_path.empty?
|
|
21
21
|
@log.debug 'Unable to find correct value for SystemRoot enviroment variable'
|
|
@@ -19,8 +19,7 @@ module Facter
|
|
|
19
19
|
win = Facter::Util::Windows::Win32Ole.new
|
|
20
20
|
opsystem = win.return_first('SELECT LocalDateTime,LastBootUpTime FROM Win32_OperatingSystem')
|
|
21
21
|
unless opsystem
|
|
22
|
-
@log.debug 'WMI query returned no results'
|
|
23
|
-
'for Win32_OperatingSystem with values LocalDateTime and LastBootUpTime.'
|
|
22
|
+
@log.debug 'WMI query returned no results for Win32_OperatingSystem with values LocalDateTime and LastBootUpTime.'
|
|
24
23
|
return
|
|
25
24
|
end
|
|
26
25
|
|
|
@@ -30,8 +30,7 @@ module Facter
|
|
|
30
30
|
win = Facter::Util::Windows::Win32Ole.new
|
|
31
31
|
comp = win.exec_query('SELECT Manufacturer,Model,OEMStringArray FROM Win32_ComputerSystem')
|
|
32
32
|
unless comp
|
|
33
|
-
@log.debug 'WMI query returned no results for Win32_ComputerSystem with values'
|
|
34
|
-
' Manufacturer, Model and OEMStringArray.'
|
|
33
|
+
@log.debug 'WMI query returned no results for Win32_ComputerSystem with values Manufacturer, Model and OEMStringArray.'
|
|
35
34
|
return
|
|
36
35
|
end
|
|
37
36
|
|
|
@@ -16,8 +16,7 @@ module Facter
|
|
|
16
16
|
win = Facter::Util::Windows::Win32Ole.new
|
|
17
17
|
op_sys = win.return_first('SELECT ProductType,OtherTypeDescription FROM Win32_OperatingSystem')
|
|
18
18
|
unless op_sys
|
|
19
|
-
@log.debug 'WMI query returned no results for Win32_OperatingSystem'
|
|
20
|
-
'with values ProductType and OtherTypeDescription.'
|
|
19
|
+
@log.debug 'WMI query returned no results for Win32_OperatingSystem with values ProductType and OtherTypeDescription.'
|
|
21
20
|
return
|
|
22
21
|
end
|
|
23
22
|
@fact_list[:consumerrel] = (op_sys.ProductType == 1)
|
|
@@ -4,7 +4,7 @@ module Facter
|
|
|
4
4
|
module Util
|
|
5
5
|
module ApiDebugger
|
|
6
6
|
def self.prepended(receiver)
|
|
7
|
-
exclude, print_caller = parse_options(ENV
|
|
7
|
+
exclude, print_caller = parse_options(ENV.fetch('API_DEBUG', nil))
|
|
8
8
|
|
|
9
9
|
receiver_methods = receiver.instance_methods - Object.methods
|
|
10
10
|
receiver_methods.each do |meth|
|
|
@@ -8,8 +8,8 @@ module Facter
|
|
|
8
8
|
class << self
|
|
9
9
|
def platform
|
|
10
10
|
@fact_value ||= # rubocop:disable Naming/MemoizedInstanceVariableName
|
|
11
|
-
check_docker_lxc || check_freebsd || check_openbsd || check_gce || check_illumos_lx ||
|
|
12
|
-
retrieve_from_virt_what || check_vmware || check_open_vz || check_vserver ||
|
|
11
|
+
check_docker_lxc || check_freebsd || check_openbsd || check_gce || check_illumos_lx ||
|
|
12
|
+
retrieve_from_virt_what || check_vmware || check_open_vz || check_vserver ||
|
|
13
13
|
check_xen || check_other_facts || check_lspci || 'physical'
|
|
14
14
|
end
|
|
15
15
|
|
|
@@ -42,7 +42,7 @@ module Facter
|
|
|
42
42
|
def determine_exponent(bytes)
|
|
43
43
|
prefix = %w[KiB MiB GiB TiB PiB EiB]
|
|
44
44
|
exp = (Math.log2(bytes) / 10.0).floor
|
|
45
|
-
converted_number = (100.0 * (bytes / 1024.0**exp)).round / 100.0
|
|
45
|
+
converted_number = (100.0 * (bytes / (1024.0**exp))).round / 100.0
|
|
46
46
|
|
|
47
47
|
if (converted_number - 1024.0).abs < Float::EPSILON
|
|
48
48
|
exp += 1
|
|
@@ -57,7 +57,7 @@ module Facter
|
|
|
57
57
|
def determine_metric_prefix(num)
|
|
58
58
|
metric_prefix = { 0 => '', 3 => 'k', 6 => 'M', 9 => 'G', 12 => 'T' }
|
|
59
59
|
power = Math.log10(num).floor
|
|
60
|
-
display_exponent = power - power % 3
|
|
60
|
+
display_exponent = power - (power % 3)
|
|
61
61
|
coefficient = power.zero? ? num.to_f : num.fdiv(10**display_exponent)
|
|
62
62
|
[coefficient, metric_prefix[display_exponent]]
|
|
63
63
|
end
|
|
@@ -75,23 +75,23 @@ module Facter
|
|
|
75
75
|
def calculate_days_hours_minutes(output)
|
|
76
76
|
return unless output =~ /(\d+) day(?:s|\(s\))?,?\s+(\d+):-?(\d+)/
|
|
77
77
|
|
|
78
|
-
SECS_IN_A_DAY * Regexp.last_match(1).to_i +
|
|
79
|
-
SECS_IN_AN_HOUR * Regexp.last_match(2).to_i +
|
|
80
|
-
SECS_IN_A_MINUTE * Regexp.last_match(3).to_i
|
|
78
|
+
(SECS_IN_A_DAY * Regexp.last_match(1).to_i) +
|
|
79
|
+
(SECS_IN_AN_HOUR * Regexp.last_match(2).to_i) +
|
|
80
|
+
(SECS_IN_A_MINUTE * Regexp.last_match(3).to_i)
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
def calculate_days_hours(output)
|
|
84
84
|
return unless output =~ /(\d+) day(?:s|\(s\))?,\s+(\d+) hr(?:s|\(s\))?,/
|
|
85
85
|
|
|
86
|
-
SECS_IN_A_DAY * Regexp.last_match(1).to_i +
|
|
87
|
-
SECS_IN_AN_HOUR * Regexp.last_match(2).to_i
|
|
86
|
+
(SECS_IN_A_DAY * Regexp.last_match(1).to_i) +
|
|
87
|
+
(SECS_IN_AN_HOUR * Regexp.last_match(2).to_i)
|
|
88
88
|
end
|
|
89
89
|
|
|
90
90
|
def calculate_days_minutes(output)
|
|
91
91
|
return unless output =~ /(\d+) day(?:s|\(s\))?,\s+(\d+) min(?:s|\(s\))?,/
|
|
92
92
|
|
|
93
|
-
SECS_IN_A_DAY * Regexp.last_match(1).to_i +
|
|
94
|
-
SECS_IN_A_MINUTE * Regexp.last_match(2).to_i
|
|
93
|
+
(SECS_IN_A_DAY * Regexp.last_match(1).to_i) +
|
|
94
|
+
(SECS_IN_A_MINUTE * Regexp.last_match(2).to_i)
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
def calculate_days(output)
|
|
@@ -106,8 +106,8 @@ module Facter
|
|
|
106
106
|
def calculate_hours_minutes(output)
|
|
107
107
|
return unless output =~ /up\s+(\d+):-?(\d+),/
|
|
108
108
|
|
|
109
|
-
SECS_IN_AN_HOUR * Regexp.last_match(1).to_i +
|
|
110
|
-
SECS_IN_A_MINUTE * Regexp.last_match(2).to_i
|
|
109
|
+
(SECS_IN_AN_HOUR * Regexp.last_match(1).to_i) +
|
|
110
|
+
(SECS_IN_A_MINUTE * Regexp.last_match(2).to_i)
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
def calculate_hours(output)
|
|
@@ -117,9 +117,9 @@ module Facter
|
|
|
117
117
|
binding = find_valid_binding(bindings)
|
|
118
118
|
ip_protocol_type = ipv4_type ? '' : '6'
|
|
119
119
|
|
|
120
|
-
values["ip#{ip_protocol_type}"
|
|
121
|
-
values["netmask#{ip_protocol_type}"
|
|
122
|
-
values["network#{ip_protocol_type}"
|
|
120
|
+
values[:"ip#{ip_protocol_type}"] = binding[:address]
|
|
121
|
+
values[:"netmask#{ip_protocol_type}"] = binding[:netmask]
|
|
122
|
+
values[:"network#{ip_protocol_type}"] = binding[:network]
|
|
123
123
|
values[:scope6] = get_scope(binding[:address]) unless ipv4_type
|
|
124
124
|
end
|
|
125
125
|
end
|
data/lib/facter/version.rb
CHANGED
data/lib/facter.rb
CHANGED
|
@@ -530,7 +530,7 @@ module Facter
|
|
|
530
530
|
resolved_facts = Facter::FactManager.instance.resolve_facts(user_query)
|
|
531
531
|
user_querie = resolved_facts.uniq(&:user_query).map(&:user_query).first
|
|
532
532
|
|
|
533
|
-
resolved_facts.reject! { |fact| fact.type == :custom && fact.value.nil? } if user_querie
|
|
533
|
+
resolved_facts.reject! { |fact| fact.type == :custom && fact.value.nil? } if user_querie && user_querie.empty?
|
|
534
534
|
|
|
535
535
|
resolved_facts
|
|
536
536
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: openfact
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 6.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenVox Project
|
|
@@ -87,20 +87,14 @@ dependencies:
|
|
|
87
87
|
requirements:
|
|
88
88
|
- - "~>"
|
|
89
89
|
- !ruby/object:Gem::Version
|
|
90
|
-
version:
|
|
91
|
-
- - "<"
|
|
92
|
-
- !ruby/object:Gem::Version
|
|
93
|
-
version: '1.85'
|
|
90
|
+
version: 1.88.0
|
|
94
91
|
type: :development
|
|
95
92
|
prerelease: false
|
|
96
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
97
94
|
requirements:
|
|
98
95
|
- - "~>"
|
|
99
96
|
- !ruby/object:Gem::Version
|
|
100
|
-
version:
|
|
101
|
-
- - "<"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '1.85'
|
|
97
|
+
version: 1.88.0
|
|
104
98
|
- !ruby/object:Gem::Dependency
|
|
105
99
|
name: rubocop-performance
|
|
106
100
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -285,22 +279,16 @@ dependencies:
|
|
|
285
279
|
name: thor
|
|
286
280
|
requirement: !ruby/object:Gem::Requirement
|
|
287
281
|
requirements:
|
|
288
|
-
- - "
|
|
289
|
-
- !ruby/object:Gem::Version
|
|
290
|
-
version: 1.0.1
|
|
291
|
-
- - "<"
|
|
282
|
+
- - "~>"
|
|
292
283
|
- !ruby/object:Gem::Version
|
|
293
|
-
version: '
|
|
284
|
+
version: '1.5'
|
|
294
285
|
type: :runtime
|
|
295
286
|
prerelease: false
|
|
296
287
|
version_requirements: !ruby/object:Gem::Requirement
|
|
297
288
|
requirements:
|
|
298
|
-
- - "
|
|
299
|
-
- !ruby/object:Gem::Version
|
|
300
|
-
version: 1.0.1
|
|
301
|
-
- - "<"
|
|
289
|
+
- - "~>"
|
|
302
290
|
- !ruby/object:Gem::Version
|
|
303
|
-
version: '
|
|
291
|
+
version: '1.5'
|
|
304
292
|
- !ruby/object:Gem::Dependency
|
|
305
293
|
name: tsort
|
|
306
294
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1292,14 +1280,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1292
1280
|
requirements:
|
|
1293
1281
|
- - ">="
|
|
1294
1282
|
- !ruby/object:Gem::Version
|
|
1295
|
-
version: '
|
|
1283
|
+
version: '3.0'
|
|
1296
1284
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1297
1285
|
requirements:
|
|
1298
1286
|
- - ">="
|
|
1299
1287
|
- !ruby/object:Gem::Version
|
|
1300
1288
|
version: '0'
|
|
1301
1289
|
requirements: []
|
|
1302
|
-
rubygems_version: 4.0.
|
|
1290
|
+
rubygems_version: 4.0.16
|
|
1303
1291
|
specification_version: 4
|
|
1304
1292
|
summary: OpenFact, a system inventory tool
|
|
1305
1293
|
test_files: []
|