inspec-core 4.23.11 → 4.24.32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +17 -35
- data/inspec-core.gemspec +8 -9
- data/lib/bundles/inspec-supermarket/api.rb +2 -2
- data/lib/bundles/inspec-supermarket/target.rb +1 -1
- data/lib/inspec/archive/tar.rb +1 -1
- data/lib/inspec/archive/zip.rb +3 -3
- data/lib/inspec/base_cli.rb +2 -2
- data/lib/inspec/cached_fetcher.rb +1 -1
- data/lib/inspec/cli.rb +1 -1
- data/lib/inspec/config.rb +5 -5
- data/lib/inspec/dependencies/cache.rb +1 -1
- data/lib/inspec/env_printer.rb +2 -2
- data/lib/inspec/fetcher/git.rb +3 -3
- data/lib/inspec/fetcher/local.rb +1 -1
- data/lib/inspec/fetcher/url.rb +4 -4
- data/lib/inspec/file_provider.rb +4 -4
- data/lib/inspec/formatters/base.rb +16 -0
- data/lib/inspec/globals.rb +8 -2
- data/lib/inspec/input.rb +3 -0
- data/lib/inspec/input_registry.rb +5 -3
- data/lib/inspec/metadata.rb +1 -1
- data/lib/inspec/plugin/v1/plugins.rb +2 -2
- data/lib/inspec/plugin/v2.rb +5 -0
- data/lib/inspec/plugin/v2/config_file.rb +1 -1
- data/lib/inspec/plugin/v2/filter.rb +2 -2
- data/lib/inspec/plugin/v2/installer.rb +5 -5
- data/lib/inspec/plugin/v2/loader.rb +6 -1
- data/lib/inspec/plugin/v2/registry.rb +2 -2
- data/lib/inspec/profile.rb +3 -3
- data/lib/inspec/profile_context.rb +1 -1
- data/lib/inspec/reporters/automate.rb +2 -2
- data/lib/inspec/reporters/json.rb +3 -1
- data/lib/inspec/reporters/json_automate.rb +1 -1
- data/lib/inspec/resource.rb +2 -0
- data/lib/inspec/resources.rb +5 -5
- data/lib/inspec/resources/apt.rb +1 -1
- data/lib/inspec/resources/auditd.rb +1 -1
- data/lib/inspec/resources/csv.rb +1 -1
- data/lib/inspec/resources/dh_params.rb +1 -1
- data/lib/inspec/resources/file.rb +1 -1
- data/lib/inspec/resources/grub_conf.rb +2 -1
- data/lib/inspec/resources/http.rb +1 -1
- data/lib/inspec/resources/iis_website.rb +1 -1
- data/lib/inspec/resources/interfaces.rb +1 -1
- data/lib/inspec/resources/json.rb +2 -2
- data/lib/inspec/resources/key_rsa.rb +1 -1
- data/lib/inspec/resources/mssql_session.rb +5 -1
- data/lib/inspec/resources/mysql_session.rb +1 -1
- data/lib/inspec/resources/nginx.rb +1 -1
- data/lib/inspec/resources/nginx_conf.rb +1 -1
- data/lib/inspec/resources/npm.rb +1 -1
- data/lib/inspec/resources/oracledb_session.rb +1 -1
- data/lib/inspec/resources/package.rb +1 -1
- data/lib/inspec/resources/parse_config.rb +5 -2
- data/lib/inspec/resources/platform.rb +11 -1
- data/lib/inspec/resources/port.rb +1 -1
- data/lib/inspec/resources/postgres_session.rb +1 -1
- data/lib/inspec/resources/ppa.rb +1 -1
- data/lib/inspec/resources/processes.rb +1 -1
- data/lib/inspec/resources/rabbitmq_conf.rb +1 -1
- data/lib/inspec/resources/registry_key.rb +1 -1
- data/lib/inspec/resources/sshd_config.rb +1 -1
- data/lib/inspec/resources/ssl.rb +2 -2
- data/lib/inspec/resources/toml.rb +1 -1
- data/lib/inspec/resources/vbscript.rb +1 -1
- data/lib/inspec/resources/windows_registry_key.rb +1 -1
- data/lib/inspec/resources/wmi.rb +16 -8
- data/lib/inspec/resources/x509_certificate.rb +1 -1
- data/lib/inspec/resources/xml.rb +1 -1
- data/lib/inspec/rule.rb +8 -8
- data/lib/inspec/run_data.rb +1 -1
- data/lib/inspec/run_data/result.rb +2 -0
- data/lib/inspec/runner.rb +2 -2
- data/lib/inspec/schema.rb +3 -1
- data/lib/inspec/schema/output_schema.rb +1 -1
- data/lib/inspec/schema/primitives.rb +1 -1
- data/lib/inspec/shell_detector.rb +2 -2
- data/lib/inspec/utils/command_wrapper.rb +1 -1
- data/lib/inspec/utils/deprecation/config_file.rb +2 -2
- data/lib/inspec/utils/json_log.rb +1 -1
- data/lib/inspec/utils/run_data_filters.rb +7 -5
- data/lib/inspec/utils/telemetry/collector.rb +1 -1
- data/lib/inspec/utils/telemetry/data_series.rb +1 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/plugins/inspec-artifact/lib/inspec-artifact/base.rb +5 -5
- data/lib/plugins/inspec-compliance/README.md +1 -1
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb +3 -3
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/http.rb +2 -2
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/target.rb +2 -2
- data/lib/plugins/inspec-habitat/lib/inspec-habitat/profile.rb +3 -3
- data/lib/plugins/inspec-init/lib/inspec-init/cli.rb +1 -1
- data/lib/plugins/inspec-init/lib/inspec-init/cli_profile.rb +1 -1
- data/lib/plugins/inspec-init/lib/inspec-init/renderer.rb +2 -2
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +3 -3
- data/lib/plugins/inspec-reporter-html2/lib/inspec-reporter-html2/reporter.rb +1 -1
- data/lib/plugins/inspec-reporter-json-min/lib/inspec-reporter-json-min/reporter.rb +1 -1
- data/lib/plugins/inspec-reporter-junit/lib/inspec-reporter-junit/reporter.rb +1 -1
- data/lib/plugins/shared/core_plugin_test_helper.rb +6 -6
- metadata +41 -43
data/lib/inspec/resources/xml.rb
CHANGED
@@ -13,7 +13,7 @@ module Inspec::Resources
|
|
13
13
|
EXAMPLE
|
14
14
|
|
15
15
|
def parse(content)
|
16
|
-
require "rexml/document"
|
16
|
+
require "rexml/document" unless defined?(REXML::Document)
|
17
17
|
REXML::Document.new(content)
|
18
18
|
rescue => e
|
19
19
|
raise Inspec::Exceptions::ResourceFailed, "Unable to parse XML: #{e.message}"
|
data/lib/inspec/rule.rb
CHANGED
@@ -343,14 +343,8 @@ module Inspec
|
|
343
343
|
__waiver_data["skipped_due_to_waiver"] = false
|
344
344
|
__waiver_data["message"] = ""
|
345
345
|
|
346
|
-
#
|
347
|
-
#
|
348
|
-
# is false-like, since all non-skipped waiver operations are handled
|
349
|
-
# during reporting phase.
|
350
|
-
return unless __waiver_data.key?("run") && !__waiver_data["run"]
|
351
|
-
|
352
|
-
# OK, the intent is to skip. Does it have an expiration date, and
|
353
|
-
# if so, is it in the future?
|
346
|
+
# Does it have an expiration date, and if so, is it in the future?
|
347
|
+
# This sets a waiver message before checking `run: true`
|
354
348
|
expiry = __waiver_data["expiration_date"]
|
355
349
|
if expiry
|
356
350
|
# YAML will automagically give us a Date or a Time.
|
@@ -370,6 +364,12 @@ module Inspec
|
|
370
364
|
end
|
371
365
|
end
|
372
366
|
|
367
|
+
# Waivers should have a hash value with keys possibly including "run" and
|
368
|
+
# expiration_date. We only care here if it has a "run" key and it
|
369
|
+
# is false-like, since all non-skipped waiver operations are handled
|
370
|
+
# during reporting phase.
|
371
|
+
return unless __waiver_data.key?("run") && !__waiver_data["run"]
|
372
|
+
|
373
373
|
# OK, apply a skip.
|
374
374
|
@__skip_rule[:result] = true
|
375
375
|
@__skip_rule[:type] = :waiver
|
data/lib/inspec/run_data.rb
CHANGED
@@ -47,7 +47,7 @@ module Inspec
|
|
47
47
|
# core reporters have been migrated to plugins. It is probable that new data elements
|
48
48
|
# and new Hash compatibility behavior will be added during the core reporter plugin
|
49
49
|
# conversion process.
|
50
|
-
SCHEMA_VERSION = "0.
|
50
|
+
SCHEMA_VERSION = "0.3.0".freeze
|
51
51
|
|
52
52
|
def self.compatible_schema?(constraints)
|
53
53
|
reqs = Gem::Requirement.create(constraints)
|
@@ -8,6 +8,7 @@ module Inspec
|
|
8
8
|
:run_time, # Float seconds execution time
|
9
9
|
:skip_message, # String
|
10
10
|
:start_time, # DateTime
|
11
|
+
:resource_params, # What is passed to the resource as a raw grep
|
11
12
|
:status, # String
|
12
13
|
:resource_title, # Ugly internals
|
13
14
|
# :waiver_data, # Undocumented tramp data / not exposed in this API
|
@@ -34,6 +35,7 @@ module Inspec
|
|
34
35
|
end
|
35
36
|
|
36
37
|
self.resource_name = raw_res_data[:resource_title].instance_variable_get(:@__resource_name__)&.to_s
|
38
|
+
self.resource_params = raw_res_data[:resource_title].instance_variable_get(:@grep)&.to_s
|
37
39
|
end
|
38
40
|
end
|
39
41
|
end
|
data/lib/inspec/runner.rb
CHANGED
data/lib/inspec/schema.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require "json"
|
1
|
+
require "json" unless defined?(JSON)
|
2
2
|
|
3
3
|
module Inspec
|
4
4
|
class Schema
|
@@ -56,6 +56,7 @@ module Inspec
|
|
56
56
|
"code_desc" => { "type" => "string" },
|
57
57
|
"run_time" => { "type" => "number" },
|
58
58
|
"start_time" => { "type" => "string" },
|
59
|
+
"resource_class" => { "type" => "string", "optional" => true },
|
59
60
|
"skip_message" => { "type" => "string", "optional" => true },
|
60
61
|
"resource" => { "type" => "string", "optional" => true },
|
61
62
|
"message" => { "type" => "string", "optional" => true },
|
@@ -194,6 +195,7 @@ module Inspec
|
|
194
195
|
"profile_sha256" => { "type" => "string" },
|
195
196
|
"status" => { "type" => "string" },
|
196
197
|
"code_desc" => { "type" => "string" },
|
198
|
+
"resource_class" => { "type" => "string", "optional" => true },
|
197
199
|
"skip_message" => { "type" => "string", "optional" => true },
|
198
200
|
"resource" => { "type" => "string", "optional" => true },
|
199
201
|
"message" => { "type" => "string", "optional" => true },
|
@@ -18,7 +18,7 @@ module Inspec
|
|
18
18
|
sort_controls
|
19
19
|
end
|
20
20
|
|
21
|
-
# Apply options such as message truncation and removal of backtraces
|
21
|
+
# Apply options such as message and code_desc truncation, and removal of backtraces
|
22
22
|
def apply_report_resize_options
|
23
23
|
runtime_config = @config[:runtime_config]
|
24
24
|
|
@@ -30,7 +30,7 @@ module Inspec
|
|
30
30
|
p[:controls].each do |c|
|
31
31
|
c[:results]&.map! do |r|
|
32
32
|
r.delete(:backtrace) unless include_backtrace
|
33
|
-
|
33
|
+
process_truncation(r)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -93,9 +93,11 @@ module Inspec
|
|
93
93
|
|
94
94
|
private
|
95
95
|
|
96
|
-
def
|
97
|
-
|
98
|
-
result
|
96
|
+
def process_truncation(result)
|
97
|
+
%i{code_desc message}.each do |field|
|
98
|
+
if result.key?(field) && result[field] != "" && @trunc > -1 && result[field].length > @trunc
|
99
|
+
result[field] = result[field][0...@trunc] + "[Truncated to #{@trunc} characters]"
|
100
|
+
end
|
99
101
|
end
|
100
102
|
result
|
101
103
|
end
|
data/lib/inspec/version.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
require "base64"
|
2
|
-
require "openssl"
|
3
|
-
require "pathname"
|
4
|
-
require "set"
|
5
|
-
require "tempfile"
|
1
|
+
require "base64" unless defined?(Base64)
|
2
|
+
require "openssl" unless defined?(OpenSSL)
|
3
|
+
require "pathname" unless defined?(Pathname)
|
4
|
+
require "set" unless defined?(Set)
|
5
|
+
require "tempfile" unless defined?(Tempfile)
|
6
6
|
require "yaml"
|
7
7
|
require "inspec/dist"
|
8
8
|
require "inspec/utils/json_profile_summary"
|
@@ -71,7 +71,7 @@ $ inspec compliance login https://automate.compliance.test --insecure --user 'ad
|
|
71
71
|
|
72
72
|
You will need an access token for authentication. You can retrieve one via:
|
73
73
|
|
74
|
-
![Chef Compliance Token](images/cc-token.png)
|
74
|
+
![Chef Compliance Token](lib/inspec-compliance/images/cc-token.png)
|
75
75
|
|
76
76
|
You can choose the access token (`--token`) or the refresh token (`--refresh_token`)
|
77
77
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require "uri"
|
1
|
+
require "uri" unless defined?(URI)
|
2
2
|
require "inspec/fetcher"
|
3
3
|
require "inspec/errors"
|
4
4
|
require "inspec/dist"
|
@@ -85,7 +85,7 @@ module InspecPlugins
|
|
85
85
|
# If version was specified, it will be the first and only result.
|
86
86
|
# Note we are calling the sha256 as a string, not a symbol since
|
87
87
|
# it was returned as json from the Compliance API.
|
88
|
-
profile_info = profile_result.
|
88
|
+
profile_info = profile_result.min_by { |x| Gem::Version.new(x["version"]) }
|
89
89
|
profile_checksum = profile_info.key?("sha256") ? profile_info["sha256"] : ""
|
90
90
|
end
|
91
91
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require "inspec/profile_vendor"
|
2
|
-
require "mixlib/shellout"
|
3
|
-
require "tomlrb"
|
4
|
-
require "ostruct"
|
2
|
+
require "mixlib/shellout" unless defined?(Mixlib::ShellOut)
|
3
|
+
require "tomlrb" unless defined?(Tomlrb)
|
4
|
+
require "ostruct" unless defined?(OpenStruct)
|
5
5
|
require "inspec/dist"
|
6
6
|
|
7
7
|
module InspecPlugins
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require "pathname"
|
1
|
+
require "pathname" unless defined?(Pathname)
|
2
2
|
require "inspec/plugin/v2"
|
3
3
|
require "inspec/plugin/v2/installer"
|
4
4
|
require "inspec/dist"
|
@@ -505,8 +505,8 @@ module InspecPlugins
|
|
505
505
|
plugin_name = status.name.to_s
|
506
506
|
Inspec::Plugin::V2::Loader.list_installed_plugin_gems
|
507
507
|
.select { |spec| spec.name == plugin_name }
|
508
|
-
.
|
509
|
-
.
|
508
|
+
.max_by(&:version)
|
509
|
+
.version
|
510
510
|
end
|
511
511
|
when :path
|
512
512
|
"src"
|
@@ -3,14 +3,14 @@ require "minitest/autorun"
|
|
3
3
|
require "minitest/pride"
|
4
4
|
|
5
5
|
# Data formats commonly used in testing
|
6
|
-
require "json"
|
7
|
-
require "ostruct"
|
6
|
+
require "json" unless defined?(JSON)
|
7
|
+
require "ostruct" unless defined?(OpenStruct)
|
8
8
|
|
9
9
|
# Utilities often needed
|
10
|
-
require "fileutils"
|
11
|
-
require "tmpdir"
|
12
|
-
require "pathname"
|
13
|
-
require "forwardable"
|
10
|
+
require "fileutils" unless defined?(FileUtils)
|
11
|
+
require "tmpdir" unless defined?(Dir.mktmpdir)
|
12
|
+
require "pathname" unless defined?(Pathname)
|
13
|
+
require "forwardable" unless defined?(Forwardable)
|
14
14
|
|
15
15
|
require "functional/helper"
|
16
16
|
require "inspec/plugin/v2"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inspec-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.24.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef InSpec Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-telemetry
|
@@ -64,26 +64,6 @@ dependencies:
|
|
64
64
|
- - "<"
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: '2.0'
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: json_schemer
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 0.2.1
|
74
|
-
- - "<"
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 0.2.12
|
77
|
-
type: :runtime
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: 0.2.1
|
84
|
-
- - "<"
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 0.2.12
|
87
67
|
- !ruby/object:Gem::Dependency
|
88
68
|
name: method_source
|
89
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,36 +88,36 @@ dependencies:
|
|
108
88
|
name: rubyzip
|
109
89
|
requirement: !ruby/object:Gem::Requirement
|
110
90
|
requirements:
|
111
|
-
- - "~>"
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
version: '1.2'
|
114
91
|
- - ">="
|
115
92
|
- !ruby/object:Gem::Version
|
116
93
|
version: 1.2.2
|
94
|
+
- - "<"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.0'
|
117
97
|
type: :runtime
|
118
98
|
prerelease: false
|
119
99
|
version_requirements: !ruby/object:Gem::Requirement
|
120
100
|
requirements:
|
121
|
-
- - "~>"
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '1.2'
|
124
101
|
- - ">="
|
125
102
|
- !ruby/object:Gem::Version
|
126
103
|
version: 1.2.2
|
104
|
+
- - "<"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '3.0'
|
127
107
|
- !ruby/object:Gem::Dependency
|
128
108
|
name: rspec
|
129
109
|
requirement: !ruby/object:Gem::Requirement
|
130
110
|
requirements:
|
131
111
|
- - "~>"
|
132
112
|
- !ruby/object:Gem::Version
|
133
|
-
version: '3.
|
113
|
+
version: '3.10'
|
134
114
|
type: :runtime
|
135
115
|
prerelease: false
|
136
116
|
version_requirements: !ruby/object:Gem::Requirement
|
137
117
|
requirements:
|
138
118
|
- - "~>"
|
139
119
|
- !ruby/object:Gem::Version
|
140
|
-
version: '3.
|
120
|
+
version: '3.10'
|
141
121
|
- !ruby/object:Gem::Dependency
|
142
122
|
name: rspec-its
|
143
123
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,16 +150,22 @@ dependencies:
|
|
170
150
|
name: hashie
|
171
151
|
requirement: !ruby/object:Gem::Requirement
|
172
152
|
requirements:
|
173
|
-
- - "
|
153
|
+
- - ">="
|
174
154
|
- !ruby/object:Gem::Version
|
175
155
|
version: '3.4'
|
156
|
+
- - "<"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '5.0'
|
176
159
|
type: :runtime
|
177
160
|
prerelease: false
|
178
161
|
version_requirements: !ruby/object:Gem::Requirement
|
179
162
|
requirements:
|
180
|
-
- - "
|
163
|
+
- - ">="
|
181
164
|
- !ruby/object:Gem::Version
|
182
165
|
version: '3.4'
|
166
|
+
- - "<"
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '5.0'
|
183
169
|
- !ruby/object:Gem::Dependency
|
184
170
|
name: mixlib-log
|
185
171
|
requirement: !ruby/object:Gem::Requirement
|
@@ -231,7 +217,7 @@ dependencies:
|
|
231
217
|
version: 0.9.0
|
232
218
|
- - "<"
|
233
219
|
- !ruby/object:Gem::Version
|
234
|
-
version: '1.
|
220
|
+
version: '1.4'
|
235
221
|
type: :runtime
|
236
222
|
prerelease: false
|
237
223
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -241,7 +227,7 @@ dependencies:
|
|
241
227
|
version: 0.9.0
|
242
228
|
- - "<"
|
243
229
|
- !ruby/object:Gem::Version
|
244
|
-
version: '1.
|
230
|
+
version: '1.4'
|
245
231
|
- !ruby/object:Gem::Dependency
|
246
232
|
name: tty-table
|
247
233
|
requirement: !ruby/object:Gem::Requirement
|
@@ -274,16 +260,22 @@ dependencies:
|
|
274
260
|
name: tomlrb
|
275
261
|
requirement: !ruby/object:Gem::Requirement
|
276
262
|
requirements:
|
277
|
-
- - "
|
263
|
+
- - ">="
|
278
264
|
- !ruby/object:Gem::Version
|
279
|
-
version: 1.2
|
265
|
+
version: '1.2'
|
266
|
+
- - "<"
|
267
|
+
- !ruby/object:Gem::Version
|
268
|
+
version: '2.1'
|
280
269
|
type: :runtime
|
281
270
|
prerelease: false
|
282
271
|
version_requirements: !ruby/object:Gem::Requirement
|
283
272
|
requirements:
|
284
|
-
- - "
|
273
|
+
- - ">="
|
285
274
|
- !ruby/object:Gem::Version
|
286
|
-
version: 1.2
|
275
|
+
version: '1.2'
|
276
|
+
- - "<"
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '2.1'
|
287
279
|
- !ruby/object:Gem::Dependency
|
288
280
|
name: addressable
|
289
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -302,16 +294,22 @@ dependencies:
|
|
302
294
|
name: parslet
|
303
295
|
requirement: !ruby/object:Gem::Requirement
|
304
296
|
requirements:
|
305
|
-
- - "
|
297
|
+
- - ">="
|
306
298
|
- !ruby/object:Gem::Version
|
307
299
|
version: '1.5'
|
300
|
+
- - "<"
|
301
|
+
- !ruby/object:Gem::Version
|
302
|
+
version: '3.0'
|
308
303
|
type: :runtime
|
309
304
|
prerelease: false
|
310
305
|
version_requirements: !ruby/object:Gem::Requirement
|
311
306
|
requirements:
|
312
|
-
- - "
|
307
|
+
- - ">="
|
313
308
|
- !ruby/object:Gem::Version
|
314
309
|
version: '1.5'
|
310
|
+
- - "<"
|
311
|
+
- !ruby/object:Gem::Version
|
312
|
+
version: '3.0'
|
315
313
|
- !ruby/object:Gem::Dependency
|
316
314
|
name: semverse
|
317
315
|
requirement: !ruby/object:Gem::Requirement
|
@@ -743,16 +741,16 @@ require_paths:
|
|
743
741
|
- lib
|
744
742
|
required_ruby_version: !ruby/object:Gem::Requirement
|
745
743
|
requirements:
|
746
|
-
- - "
|
744
|
+
- - ">="
|
747
745
|
- !ruby/object:Gem::Version
|
748
|
-
version: '2.
|
746
|
+
version: '2.5'
|
749
747
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
750
748
|
requirements:
|
751
749
|
- - ">="
|
752
750
|
- !ruby/object:Gem::Version
|
753
751
|
version: '0'
|
754
752
|
requirements: []
|
755
|
-
rubygems_version: 3.
|
753
|
+
rubygems_version: 3.1.4
|
756
754
|
signing_key:
|
757
755
|
specification_version: 4
|
758
756
|
summary: Infrastructure and compliance testing. Core library.
|