fitting 2.7.1 → 2.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/fitting.gemspec +3 -5
- data/lib/fitting.rb +2 -2
- data/lib/fitting/cover.rb +8 -8
- data/lib/fitting/cover/json_schema.rb +23 -31
- data/lib/fitting/records/realized_unit.rb +8 -8
- data/lib/fitting/records/spherical/request.rb +6 -6
- data/lib/fitting/records/spherical/response.rb +1 -1
- data/lib/fitting/records/test_unit/request.rb +5 -7
- data/lib/fitting/records/unit/combination.rb +3 -3
- data/lib/fitting/records/unit/json_schema.rb +4 -5
- data/lib/fitting/statistics/cover_error.rb +7 -9
- data/lib/fitting/statistics/measurement.rb +1 -3
- data/lib/fitting/statistics/measurement_cover.rb +1 -3
- data/lib/fitting/statistics/template_cover_error.rb +0 -1
- data/lib/fitting/storage/white_list.rb +2 -6
- data/lib/fitting/templates/realized_template.rb +15 -17
- data/lib/fitting/tests.rb +1 -2
- data/lib/fitting/version.rb +1 -1
- metadata +38 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84283dbea86e6b51feff80746c42083581d41062
|
4
|
+
data.tar.gz: 2e7bfe061b7da0572fec39b8dda02ce9cd0a1a64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c507b40654e438c1123080328253b112803de9e407c3134eee4d321d25e43cca9e3966e96d7d48f6a51b17faec3be252b5468230fff8ffeaf7cea2af17050114
|
7
|
+
data.tar.gz: 67e50590a29a8ece5903df6db5c263d787f19a647a7fba1631ec354e404c665036070ce7cf0aad76b0be3b7fc2fcfd0e141a84b97165b79a570ebf7336bf11ee
|
data/CHANGELOG.md
CHANGED
data/fitting.gemspec
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
1
|
lib = File.expand_path('../lib', __FILE__)
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
3
|
require 'fitting/version'
|
@@ -20,14 +18,14 @@ Gem::Specification.new do |spec|
|
|
20
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
19
|
spec.require_paths = ['lib']
|
22
20
|
|
21
|
+
spec.add_runtime_dependency 'haml'
|
23
22
|
spec.add_runtime_dependency 'json-schema', '~> 2.6', '>= 2.6.2'
|
24
23
|
spec.add_runtime_dependency 'multi_json'
|
25
24
|
spec.add_runtime_dependency 'tomograph', '~> 2.0', '>= 2.2.0'
|
26
|
-
spec.add_runtime_dependency 'haml'
|
27
25
|
spec.add_development_dependency 'bundler', '~> 1.12'
|
28
|
-
spec.add_development_dependency 'rake', '~> 10.0'
|
29
26
|
spec.add_development_dependency 'byebug', '~> 8.2', '>= 8.2.1'
|
27
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
30
28
|
spec.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
|
31
|
-
spec.add_development_dependency 'simplecov', '~> 0.11', '>= 0.11.2'
|
32
29
|
spec.add_development_dependency 'rubocop', '~> 0.49.1', '>= 0.49.1'
|
30
|
+
spec.add_development_dependency 'simplecov', '~> 0.11', '>= 0.11.2'
|
33
31
|
end
|
data/lib/fitting.rb
CHANGED
@@ -20,7 +20,7 @@ module Fitting
|
|
20
20
|
|
21
21
|
RSpec.configure do |config|
|
22
22
|
config.after(:each, type: :controller) do
|
23
|
-
responses.add(response,
|
23
|
+
responses.add(response, inspect)
|
24
24
|
end
|
25
25
|
|
26
26
|
config.after(:suite) do
|
@@ -34,7 +34,7 @@ module Fitting
|
|
34
34
|
|
35
35
|
RSpec.configure do |config|
|
36
36
|
config.after(:each, type: :controller) do
|
37
|
-
responses.add(response,
|
37
|
+
responses.add(response, inspect)
|
38
38
|
end
|
39
39
|
|
40
40
|
config.after(:suite) do
|
data/lib/fitting/cover.rb
CHANGED
@@ -34,16 +34,16 @@ module Fitting
|
|
34
34
|
if value['flags'] == []
|
35
35
|
@template[key]['type'] = 'passed'
|
36
36
|
else
|
37
|
-
flag_true = value['flags'].find_all{|flag| flag == true}
|
38
|
-
flag_false = value['flags'].find_all{|flag| flag == false}
|
39
|
-
if flag_false.
|
37
|
+
flag_true = value['flags'].find_all { |flag| flag == true }
|
38
|
+
flag_false = value['flags'].find_all { |flag| flag == false }
|
39
|
+
if flag_false.empty?
|
40
40
|
@template[key]['type'] = 'passed'
|
41
41
|
else
|
42
|
-
if flag_true.
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
42
|
+
@template[key]['cover'] = if flag_true.empty?
|
43
|
+
0.0
|
44
|
+
else
|
45
|
+
flag_false.size / flag_true.size
|
46
|
+
end
|
47
47
|
@template[key]['type'] = 'failed'
|
48
48
|
end
|
49
49
|
end
|
@@ -5,25 +5,33 @@ module Fitting
|
|
5
5
|
@json_schema = json_schema
|
6
6
|
end
|
7
7
|
|
8
|
-
def
|
9
|
-
return @
|
10
|
-
@
|
8
|
+
def combi
|
9
|
+
return @combinations if @combinations
|
10
|
+
@combinations = new_required(@json_schema)
|
11
11
|
|
12
|
-
return @
|
13
|
-
|
12
|
+
return @combinations unless @json_schema['properties']
|
13
|
+
@combinations = new_super_each(@json_schema['properties'], { 'properties' => nil }, @json_schema, @combinations, 'properties')
|
14
14
|
|
15
|
-
@
|
15
|
+
@combinations
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
18
|
+
def new_super_each(json_schema, old_keys_hash, lol_schema, combinations, old_key)
|
19
19
|
json_schema.each do |key, value|
|
20
|
+
next unless value.is_a?(Hash)
|
21
|
+
|
20
22
|
new_keys_hash = clone_hash(old_keys_hash)
|
21
23
|
add_super_key(new_keys_hash, key)
|
22
|
-
|
23
|
-
|
24
|
-
|
24
|
+
|
25
|
+
combinations = new_super_each(value, new_keys_hash, lol_schema, combinations, [old_key, key].compact.join('.'))
|
26
|
+
|
27
|
+
qwe = new_required(value)
|
28
|
+
qwe.map do |asd|
|
29
|
+
new_json_shema = clone_hash(lol_schema)
|
30
|
+
super_merge(new_keys_hash, asd[0], new_json_shema)
|
31
|
+
combinations.push([new_json_shema, [asd[1][0], [old_key, key, asd[1][1]].compact.join('.')]])
|
25
32
|
end
|
26
33
|
end
|
34
|
+
combinations
|
27
35
|
end
|
28
36
|
|
29
37
|
def add_super_key(vbn, new_key)
|
@@ -47,16 +55,6 @@ module Fitting
|
|
47
55
|
old_json_schema
|
48
56
|
end
|
49
57
|
|
50
|
-
def modify_json_shema(value, vbn)
|
51
|
-
qwe = required(value)
|
52
|
-
qwe[0].map do |asd|
|
53
|
-
new_json_shema = clone_hash(@json_schema)
|
54
|
-
super_merge(vbn, asd, new_json_shema)
|
55
|
-
@json_schemas += [new_json_shema]
|
56
|
-
end
|
57
|
-
@combinations += qwe[1]
|
58
|
-
end
|
59
|
-
|
60
58
|
def clone_hash(old_json_schema)
|
61
59
|
new_json_schema = {}
|
62
60
|
old_json_schema.each do |key, value|
|
@@ -71,24 +69,18 @@ module Fitting
|
|
71
69
|
new_json_schema
|
72
70
|
end
|
73
71
|
|
74
|
-
def
|
75
|
-
|
76
|
-
|
77
|
-
end
|
78
|
-
|
79
|
-
def required(json_schema)
|
80
|
-
combinations = []
|
81
|
-
json_schemas = new_keys(json_schema).inject([]) do |new_json_shemas, new_key|
|
72
|
+
def new_required(json_schema)
|
73
|
+
res = []
|
74
|
+
new_keys(json_schema).map do |new_key|
|
82
75
|
new_json_shema = json_schema.dup
|
83
76
|
if new_json_shema['required']
|
84
77
|
new_json_shema['required'] += [new_key]
|
85
78
|
else
|
86
79
|
new_json_shema['required'] = [new_key]
|
87
80
|
end
|
88
|
-
|
89
|
-
new_json_shemas.push(new_json_shema)
|
81
|
+
res.push([new_json_shema, ['required', new_key]])
|
90
82
|
end
|
91
|
-
|
83
|
+
res
|
92
84
|
end
|
93
85
|
|
94
86
|
def new_keys(json_schema)
|
@@ -9,20 +9,20 @@ module Fitting
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def fully_covered?
|
12
|
-
test_file_paths.each do |
|
13
|
-
all_good = requests.all?
|
12
|
+
test_file_paths.each do |_key, requests|
|
13
|
+
all_good = requests.all?(&:documented?)
|
14
14
|
return false unless all_good
|
15
15
|
end
|
16
|
-
test_file_paths.each do |
|
17
|
-
all_good = requests.all?
|
16
|
+
test_file_paths.each do |_key, requests|
|
17
|
+
all_good = requests.all?(&:response_documented?)
|
18
18
|
return false unless all_good
|
19
19
|
end
|
20
|
-
test_file_paths.each do |
|
21
|
-
all_good = requests.all?
|
20
|
+
test_file_paths.each do |_key, requests|
|
21
|
+
all_good = requests.all?(&:response_json_schemas?)
|
22
22
|
return false unless all_good
|
23
23
|
end
|
24
|
-
test_file_paths.each do |
|
25
|
-
all_good = requests.all?
|
24
|
+
test_file_paths.each do |_key, requests|
|
25
|
+
all_good = requests.all?(&:valid_json_schemas?)
|
26
26
|
return false unless all_good
|
27
27
|
end
|
28
28
|
true
|
@@ -34,12 +34,12 @@ module Fitting
|
|
34
34
|
class << self
|
35
35
|
def load(hash)
|
36
36
|
new(
|
37
|
-
method: hash[
|
38
|
-
path: hash[
|
39
|
-
body: hash[
|
40
|
-
response: Fitting::Records::Spherical::Response.load(hash[
|
41
|
-
title: hash[
|
42
|
-
group: hash[
|
37
|
+
method: hash['method'],
|
38
|
+
path: hash['path'],
|
39
|
+
body: hash['body'],
|
40
|
+
response: Fitting::Records::Spherical::Response.load(hash['response']),
|
41
|
+
title: hash['title'],
|
42
|
+
group: hash['group']
|
43
43
|
)
|
44
44
|
end
|
45
45
|
end
|
@@ -36,7 +36,7 @@ module Fitting
|
|
36
36
|
def documented_requests
|
37
37
|
@documented_requests ||= @all_documented_requests.inject([]) do |res, documented_request|
|
38
38
|
next res unless @tested_request.method == documented_request.method &&
|
39
|
-
|
39
|
+
documented_request.path.match(@tested_request.path.to_s)
|
40
40
|
res.push(documented_request)
|
41
41
|
end
|
42
42
|
end
|
@@ -48,7 +48,7 @@ module Fitting
|
|
48
48
|
def documented_responses
|
49
49
|
@documented_responses ||= documented_requests.inject([]) do |res, documented_request|
|
50
50
|
documented_request.responses.map do |documented_response|
|
51
|
-
next unless documented_response[
|
51
|
+
next unless documented_response['status'] == response.status.to_s
|
52
52
|
res.push(documented_response)
|
53
53
|
end
|
54
54
|
end.flatten.compact
|
@@ -60,7 +60,7 @@ module Fitting
|
|
60
60
|
|
61
61
|
def response_json_schemas
|
62
62
|
@response_json_schemas ||= documented_responses.inject([]) do |res, documented_response|
|
63
|
-
res.push(documented_response[
|
63
|
+
res.push(documented_response['json_schemas'])
|
64
64
|
end.flatten
|
65
65
|
end
|
66
66
|
|
@@ -79,10 +79,8 @@ module Fitting
|
|
79
79
|
@invalid_json_schemas ||= response_json_schemas.inject([]) do |res, json_schema|
|
80
80
|
next res if JSON::Validator.validate(json_schema, response.body)
|
81
81
|
res.push(
|
82
|
-
|
83
|
-
|
84
|
-
fully_validate: JSON::Validator.fully_validate(json_schema, response.body)
|
85
|
-
}
|
82
|
+
json_schema: json_schema,
|
83
|
+
fully_validate: JSON::Validator.fully_validate(json_schema, response.body)
|
86
84
|
)
|
87
85
|
end.flatten
|
88
86
|
end
|
@@ -6,9 +6,9 @@ module Fitting
|
|
6
6
|
class Combination
|
7
7
|
attr_reader :description, :json_schema, :bodies
|
8
8
|
|
9
|
-
def initialize(
|
10
|
-
@description =
|
11
|
-
@json_schema =
|
9
|
+
def initialize(comb, bodies)
|
10
|
+
@description = comb[1]
|
11
|
+
@json_schema = comb[0]
|
12
12
|
@bodies = bodies
|
13
13
|
end
|
14
14
|
|
@@ -28,11 +28,10 @@ module Fitting
|
|
28
28
|
return @combinations if @combinations
|
29
29
|
@combinations = []
|
30
30
|
cover_json_schema = Fitting::Cover::JSONSchema.new(@json_schema)
|
31
|
-
cover_json_schema.
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
bodies
|
31
|
+
cover_json_schema.combi.map do |comb|
|
32
|
+
@combinations.push(Fitting::Records::Unit::Combination.new(
|
33
|
+
comb,
|
34
|
+
bodies
|
36
35
|
))
|
37
36
|
end
|
38
37
|
@combinations
|
@@ -9,15 +9,13 @@ module Fitting
|
|
9
9
|
res = ''
|
10
10
|
@request_unit.map do |request|
|
11
11
|
request.responses.map do |response|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|
12
|
+
next unless response.tested_bodies != []
|
13
|
+
response.json_schemas.map do |json_schema|
|
14
|
+
json_schema.combinations.map do |combination|
|
15
|
+
next unless combination.valid_bodies == []
|
16
|
+
res += "request metohd: #{request.method}\nrequest path: #{request.path}\n"\
|
17
|
+
"response staus: #{response.status}\nsource json-schema: #{json_schema.json_schema}\n"\
|
18
|
+
"combination: #{combination.description}\nnew json-schema: #{combination.json_schema}\n\n"
|
21
19
|
end
|
22
20
|
end
|
23
21
|
end
|
@@ -33,9 +33,7 @@ module Fitting
|
|
33
33
|
check_cover(request)
|
34
34
|
coverage_push(request)
|
35
35
|
|
36
|
-
if request.path.to_s.size / 8 > @max_response_path
|
37
|
-
@max_response_path = request.path.to_s.size / 8
|
38
|
-
end
|
36
|
+
@max_response_path = request.path.to_s.size / 8 if request.path.to_s.size / 8 > @max_response_path
|
39
37
|
request.responses.map do |response|
|
40
38
|
check_response(response, request)
|
41
39
|
end
|
@@ -33,9 +33,7 @@ module Fitting
|
|
33
33
|
check_cover(request)
|
34
34
|
coverage_push(request)
|
35
35
|
|
36
|
-
if request.path.to_s.size / 8 > @max_response_path
|
37
|
-
@max_response_path = request.path.to_s.size / 8
|
38
|
-
end
|
36
|
+
@max_response_path = request.path.to_s.size / 8 if request.path.to_s.size / 8 > @max_response_path
|
39
37
|
request.responses.map do |response|
|
40
38
|
check_response(response, request)
|
41
39
|
end
|
@@ -18,12 +18,8 @@ module Fitting
|
|
18
18
|
return @white_list if @white_list
|
19
19
|
return @white_list = transformation if @resource_white_list
|
20
20
|
@white_list = {}
|
21
|
-
if @include_resources
|
22
|
-
|
23
|
-
end
|
24
|
-
if @include_actions
|
25
|
-
@white_list.merge!(postnew_transformation)
|
26
|
-
end
|
21
|
+
@white_list.merge!(new_transformation) if @include_resources
|
22
|
+
@white_list.merge!(postnew_transformation) if @include_actions
|
27
23
|
@white_list
|
28
24
|
end
|
29
25
|
|
@@ -9,36 +9,34 @@ module Fitting
|
|
9
9
|
res = ''
|
10
10
|
res += "1. Find request method and path:\n"
|
11
11
|
@realized_unit.test_file_paths.each do |key, requests|
|
12
|
-
all_good = requests.all?
|
12
|
+
all_good = requests.all?(&:documented?)
|
13
13
|
res += "file: #{key} #{all_good ? '✔' : '✖'}\n"
|
14
14
|
end
|
15
15
|
res += "\n2. Find response status code:\n"
|
16
16
|
@realized_unit.test_file_paths.each do |key, requests|
|
17
|
-
all_good = requests.all?
|
17
|
+
all_good = requests.all?(&:response_documented?)
|
18
18
|
res += "file: #{key} #{all_good ? '✔' : '✖'}\n"
|
19
19
|
end
|
20
20
|
res += "\n3. Find response json-schemas:\n"
|
21
21
|
@realized_unit.test_file_paths.each do |key, requests|
|
22
|
-
all_good = requests.all?
|
22
|
+
all_good = requests.all?(&:response_json_schemas?)
|
23
23
|
res += "file: #{key} #{all_good ? '✔' : '✖'}\n"
|
24
24
|
end
|
25
25
|
res += "\n4. Check valid json-schemas:\n"
|
26
26
|
@realized_unit.test_file_paths.each do |key, requests|
|
27
|
-
all_good = requests.all?
|
27
|
+
all_good = requests.all?(&:valid_json_schemas?)
|
28
28
|
res += "path: #{key} #{all_good ? '✔' : '✖'}\n"
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
41
|
-
end
|
29
|
+
next if all_good
|
30
|
+
requests.map do |request|
|
31
|
+
next if request.valid_json_schemas?
|
32
|
+
res += " full path: #{request.test_path} ✖\n"
|
33
|
+
res += " request.method #{request.method}\n"
|
34
|
+
res += " request.path #{request.path}\n"
|
35
|
+
res += " request.response.status #{request.response.status}\n"
|
36
|
+
res += " request.response.body #{request.response.body}\n\n"
|
37
|
+
request.invalid_json_schemas.map do |schema|
|
38
|
+
res += " json_schemas: #{schema[:json_schema]}\n"
|
39
|
+
res += " fully_validate: #{schema[:fully_validate]}\n\n"
|
42
40
|
end
|
43
41
|
end
|
44
42
|
end
|
data/lib/fitting/tests.rb
CHANGED
@@ -12,7 +12,7 @@ module Fitting
|
|
12
12
|
res.push(request.to_spherical.to_hash)
|
13
13
|
end
|
14
14
|
json = JSON.dump(array)
|
15
|
-
File.open(
|
15
|
+
File.open('tests.json', 'w') { |file| file.write(json) }
|
16
16
|
end
|
17
17
|
|
18
18
|
def make_dir(dir_name)
|
@@ -20,4 +20,3 @@ module Fitting
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
23
|
-
|
data/lib/fitting/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fitting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- d.efimov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: haml
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: json-schema
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,20 +78,6 @@ dependencies:
|
|
64
78
|
- - ">="
|
65
79
|
- !ruby/object:Gem::Version
|
66
80
|
version: 2.2.0
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: haml
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: '0'
|
74
|
-
type: :runtime
|
75
|
-
prerelease: false
|
76
|
-
version_requirements: !ruby/object:Gem::Requirement
|
77
|
-
requirements:
|
78
|
-
- - ">="
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: '0'
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: bundler
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,39 +93,39 @@ dependencies:
|
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '1.12'
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
96
|
+
name: byebug
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
99
|
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
101
|
+
version: '8.2'
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 8.2.1
|
102
105
|
type: :development
|
103
106
|
prerelease: false
|
104
107
|
version_requirements: !ruby/object:Gem::Requirement
|
105
108
|
requirements:
|
106
109
|
- - "~>"
|
107
110
|
- !ruby/object:Gem::Version
|
108
|
-
version: '
|
111
|
+
version: '8.2'
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 8.2.1
|
109
115
|
- !ruby/object:Gem::Dependency
|
110
|
-
name:
|
116
|
+
name: rake
|
111
117
|
requirement: !ruby/object:Gem::Requirement
|
112
118
|
requirements:
|
113
119
|
- - "~>"
|
114
120
|
- !ruby/object:Gem::Version
|
115
|
-
version: '
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 8.2.1
|
121
|
+
version: '10.0'
|
119
122
|
type: :development
|
120
123
|
prerelease: false
|
121
124
|
version_requirements: !ruby/object:Gem::Requirement
|
122
125
|
requirements:
|
123
126
|
- - "~>"
|
124
127
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
126
|
-
- - ">="
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: 8.2.1
|
128
|
+
version: '10.0'
|
129
129
|
- !ruby/object:Gem::Dependency
|
130
130
|
name: rspec
|
131
131
|
requirement: !ruby/object:Gem::Requirement
|
@@ -147,45 +147,45 @@ dependencies:
|
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: 3.4.0
|
149
149
|
- !ruby/object:Gem::Dependency
|
150
|
-
name:
|
150
|
+
name: rubocop
|
151
151
|
requirement: !ruby/object:Gem::Requirement
|
152
152
|
requirements:
|
153
153
|
- - "~>"
|
154
154
|
- !ruby/object:Gem::Version
|
155
|
-
version:
|
155
|
+
version: 0.49.1
|
156
156
|
- - ">="
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: 0.
|
158
|
+
version: 0.49.1
|
159
159
|
type: :development
|
160
160
|
prerelease: false
|
161
161
|
version_requirements: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
163
|
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
165
|
+
version: 0.49.1
|
166
166
|
- - ">="
|
167
167
|
- !ruby/object:Gem::Version
|
168
|
-
version: 0.
|
168
|
+
version: 0.49.1
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
|
-
name:
|
170
|
+
name: simplecov
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|
172
172
|
requirements:
|
173
173
|
- - "~>"
|
174
174
|
- !ruby/object:Gem::Version
|
175
|
-
version: 0.
|
175
|
+
version: '0.11'
|
176
176
|
- - ">="
|
177
177
|
- !ruby/object:Gem::Version
|
178
|
-
version: 0.
|
178
|
+
version: 0.11.2
|
179
179
|
type: :development
|
180
180
|
prerelease: false
|
181
181
|
version_requirements: !ruby/object:Gem::Requirement
|
182
182
|
requirements:
|
183
183
|
- - "~>"
|
184
184
|
- !ruby/object:Gem::Version
|
185
|
-
version: 0.
|
185
|
+
version: '0.11'
|
186
186
|
- - ">="
|
187
187
|
- !ruby/object:Gem::Version
|
188
|
-
version: 0.
|
188
|
+
version: 0.11.2
|
189
189
|
description: Validation responses in the rspec with the help of API Blueprint
|
190
190
|
email:
|
191
191
|
- d.efimov@fun-box.ru
|