rspec-resembles_json_matchers 0.7.2 → 0.9.1
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/.gitignore +1 -0
- data/.rubocop.yml +155 -0
- data/.travis.yml +5 -6
- data/Appraisals +7 -5
- data/Changelog.md +16 -0
- data/Gemfile +3 -1
- data/Guardfile +6 -5
- data/LICENSE.txt +13 -0
- data/README.md +5 -0
- data/Rakefile +2 -0
- data/examples/example_spec.rb +67 -63
- data/gemfiles/.bundle/config +5 -0
- data/gemfiles/rails_5.gemfile +2 -2
- data/gemfiles/rails_5.gemfile.lock +100 -67
- data/gemfiles/{rails_42.gemfile → rails_6.gemfile} +3 -3
- data/gemfiles/rails_6.gemfile.lock +236 -0
- data/lib/rspec/resembles_json_matchers.rb +16 -15
- data/lib/rspec/resembles_json_matchers/attribute_differ.rb +75 -55
- data/lib/rspec/resembles_json_matchers/attribute_matcher.rb +38 -18
- data/lib/rspec/resembles_json_matchers/helpers.rb +4 -3
- data/lib/rspec/resembles_json_matchers/json_matcher.rb +22 -33
- data/lib/rspec/resembles_json_matchers/matcherizer.rb +2 -3
- data/lib/rspec/resembles_json_matchers/resembles_any_of_matcher.rb +16 -15
- data/lib/rspec/resembles_json_matchers/resembles_array_matcher.rb +2 -4
- data/lib/rspec/resembles_json_matchers/resembles_boolean_matcher.rb +4 -1
- data/lib/rspec/resembles_json_matchers/resembles_class_matcher.rb +2 -1
- data/lib/rspec/resembles_json_matchers/resembles_date_matcher.rb +2 -0
- data/lib/rspec/resembles_json_matchers/resembles_hash_matcher.rb +11 -11
- data/lib/rspec/resembles_json_matchers/resembles_matcher.rb +8 -16
- data/lib/rspec/resembles_json_matchers/resembles_nil_matcher.rb +1 -0
- data/lib/rspec/resembles_json_matchers/resembles_numeric_matcher.rb +2 -1
- data/lib/rspec/resembles_json_matchers/resembles_route_matcher.rb +6 -3
- data/lib/rspec/resembles_json_matchers/resembles_string_matcher.rb +1 -0
- data/lib/rspec/resembles_json_matchers/string_indent.rb +4 -2
- data/lib/rspec/resembles_json_matchers/version.rb +3 -1
- data/rspec-resembles_json_matchers.gemspec +14 -9
- metadata +68 -24
- data/gemfiles/rails_42.gemfile.lock +0 -183
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module RSpec::ResemblesJsonMatchers
|
3
4
|
module Matcherizer
|
4
5
|
def matcherize(expected)
|
5
6
|
if matcher? expected
|
@@ -20,6 +21,4 @@ module RSpec::ResemblesJsonMatchers
|
|
20
21
|
obj.respond_to?(:matches?) && obj.respond_to?(:description)
|
21
22
|
end
|
22
23
|
end
|
23
|
-
|
24
24
|
end
|
25
|
-
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "active_support/core_ext/array/wrap"
|
2
4
|
|
3
5
|
module RSpec::ResemblesJsonMatchers
|
@@ -8,19 +10,24 @@ module RSpec::ResemblesJsonMatchers
|
|
8
10
|
array.is_a? Array
|
9
11
|
end
|
10
12
|
|
11
|
-
attr_reader :expected, :actual
|
13
|
+
attr_reader :expected, :actual, :original_expected
|
12
14
|
|
13
15
|
def initialize(expected)
|
16
|
+
@original_expected = expected
|
14
17
|
@expected = expected.map { |e| matcherize(e) }
|
15
18
|
end
|
16
19
|
|
17
20
|
def matches?(actual)
|
18
21
|
@actual = Array.wrap(actual)
|
19
|
-
@actual.all? do |a|
|
22
|
+
@matched = @actual.all? do |a|
|
20
23
|
expected_matchers.any? { |m| attempted_matchers << m; m.matches? a }
|
21
24
|
end
|
22
25
|
end
|
23
26
|
|
27
|
+
def matched?
|
28
|
+
@matched
|
29
|
+
end
|
30
|
+
|
24
31
|
def description
|
25
32
|
if @expected.size == 1
|
26
33
|
"have every item #{expected_matchers.first.description}"
|
@@ -29,9 +36,7 @@ module RSpec::ResemblesJsonMatchers
|
|
29
36
|
end
|
30
37
|
end
|
31
38
|
|
32
|
-
def failure_message
|
33
|
-
|
34
|
-
end
|
39
|
+
def failure_message; end
|
35
40
|
|
36
41
|
def expected_matchers
|
37
42
|
@expected
|
@@ -42,16 +47,12 @@ module RSpec::ResemblesJsonMatchers
|
|
42
47
|
end
|
43
48
|
|
44
49
|
def expected_formatted
|
45
|
-
""
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
"should #{v.description}".indent(2)
|
52
|
-
end
|
53
|
-
end.join("\n")
|
54
|
-
end << "\n"
|
50
|
+
out = +""
|
51
|
+
out << expected_matchers.map do |v|
|
52
|
+
"should #{v.description}".indent(2)
|
53
|
+
end.join("\n")
|
54
|
+
out << "\n"
|
55
|
+
out
|
55
56
|
end
|
56
57
|
end
|
57
58
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
module RSpec::ResemblesJsonMatchers
|
3
4
|
class ResemblesArrayMatcher
|
@@ -27,9 +28,6 @@ module RSpec::ResemblesJsonMatchers
|
|
27
28
|
@expected.map { |e| matcherize(e) }
|
28
29
|
end
|
29
30
|
|
30
|
-
def failure_message
|
31
|
-
end
|
31
|
+
def failure_message; end
|
32
32
|
end
|
33
|
-
|
34
|
-
|
35
33
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
module RSpec::ResemblesJsonMatchers
|
3
4
|
class ResemblesBooleanMatcher
|
@@ -5,6 +6,8 @@ module RSpec::ResemblesJsonMatchers
|
|
5
6
|
bool.is_a?(TrueClass) || bool.is_a?(FalseClass)
|
6
7
|
end
|
7
8
|
|
9
|
+
attr_reader :expected
|
10
|
+
|
8
11
|
def initialize(expected)
|
9
12
|
@expected = expected
|
10
13
|
end
|
@@ -14,7 +17,7 @@ module RSpec::ResemblesJsonMatchers
|
|
14
17
|
end
|
15
18
|
|
16
19
|
def matches?(actual)
|
17
|
-
actual
|
20
|
+
actual.is_a?(TrueClass) || actual.is_a?(FalseClass)
|
18
21
|
end
|
19
22
|
|
20
23
|
def expected_formatted
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
module RSpec::ResemblesJsonMatchers
|
3
4
|
class ResemblesClassMatcher
|
@@ -17,7 +18,7 @@ module RSpec::ResemblesJsonMatchers
|
|
17
18
|
|
18
19
|
def matches?(actual)
|
19
20
|
@actual = actual
|
20
|
-
actual.
|
21
|
+
actual.is_a? @expected
|
21
22
|
end
|
22
23
|
|
23
24
|
def expected_formatted
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RSpec::ResemblesJsonMatchers
|
2
4
|
class ResemblesHashMatcher
|
3
5
|
include Helpers
|
@@ -30,11 +32,11 @@ module RSpec::ResemblesJsonMatchers
|
|
30
32
|
end
|
31
33
|
end
|
32
34
|
|
33
|
-
actual.
|
35
|
+
actual.each_key { |k| unmatched_matchers.delete(k) }
|
34
36
|
|
35
|
-
|
36
|
-
|
37
|
-
|
37
|
+
failed_matches.none? and
|
38
|
+
unmatched_keys.none? and
|
39
|
+
unmatched_matchers.none?
|
38
40
|
end
|
39
41
|
|
40
42
|
def description
|
@@ -59,9 +61,7 @@ module RSpec::ResemblesJsonMatchers
|
|
59
61
|
end
|
60
62
|
end
|
61
63
|
|
62
|
-
|
63
|
-
@failed_matches
|
64
|
-
end
|
64
|
+
attr_reader :failed_matches
|
65
65
|
|
66
66
|
def unmatched_keys
|
67
67
|
@actual.keys - @matched_keys
|
@@ -73,15 +73,16 @@ module RSpec::ResemblesJsonMatchers
|
|
73
73
|
|
74
74
|
def expected_formatted
|
75
75
|
out = "{\n"
|
76
|
-
out << expected_matchers.map do |k,v|
|
76
|
+
out << expected_matchers.map do |k, v|
|
77
77
|
%{ "%s": %s} % [k, v.expected_formatted]
|
78
78
|
end.join(",\n")
|
79
79
|
out << "\n}\n"
|
80
80
|
end
|
81
81
|
|
82
82
|
def pretty_failed_matches
|
83
|
-
failed_matches.map do |k,matcher|
|
83
|
+
failed_matches.map do |k, matcher|
|
84
84
|
next unless @actual.key?(k) # Covered by the unmatched matchers messages
|
85
|
+
|
85
86
|
matcher_failure_message =
|
86
87
|
matcher.failure_message
|
87
88
|
.gsub("(compared using ==)", "") # From the equality matcher, ugly in this context
|
@@ -99,10 +100,9 @@ module RSpec::ResemblesJsonMatchers
|
|
99
100
|
end
|
100
101
|
|
101
102
|
def pretty_unmatched_matchers
|
102
|
-
unmatched_matchers.map do |key,
|
103
|
+
unmatched_matchers.map do |key, _matcher|
|
103
104
|
"attribute #{key.to_s.inspect}:\n has a matcher defined, but that attribute was not provided"
|
104
105
|
end.join("\n") + "\n"
|
105
106
|
end
|
106
|
-
|
107
107
|
end
|
108
108
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "active_support/core_ext/array/wrap"
|
2
4
|
|
3
5
|
module RSpec::ResemblesJsonMatchers
|
4
|
-
|
5
6
|
def resembles(expected)
|
6
7
|
ResemblesMatcher.new(expected)
|
7
8
|
end
|
@@ -18,11 +19,9 @@ module RSpec::ResemblesJsonMatchers
|
|
18
19
|
candidates.detect { |candidate| candidate.can_match?(@expected) }
|
19
20
|
end
|
20
21
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
fail "Could not find an acceptable resembles matcher for #{@expected.inspect}"
|
25
|
-
end
|
22
|
+
fail "Could not find an acceptable resembles matcher for #{@expected.inspect}" unless candidate_class
|
23
|
+
|
24
|
+
@candidate = candidate_class.new(expected)
|
26
25
|
end
|
27
26
|
|
28
27
|
def description
|
@@ -31,29 +30,22 @@ module RSpec::ResemblesJsonMatchers
|
|
31
30
|
|
32
31
|
def matches?(actual)
|
33
32
|
@actual = actual
|
34
|
-
|
35
|
-
@candidate.matches?(actual)
|
36
|
-
end
|
33
|
+
@candidate&.matches?(actual)
|
37
34
|
end
|
38
35
|
|
39
36
|
def failure_message(negated: false)
|
40
|
-
"expected #{@actual.inspect} to #{negated ?
|
37
|
+
"expected #{@actual.inspect} to #{negated ? 'not ' : ''}#{description}"
|
41
38
|
end
|
42
39
|
|
43
40
|
def negative_failure_message
|
44
41
|
failure_message(negated: true)
|
45
42
|
end
|
46
43
|
|
47
|
-
def candidates
|
48
|
-
end
|
44
|
+
def candidates; end
|
49
45
|
end
|
50
46
|
|
51
47
|
class ResemblesAllOfMatcher
|
52
|
-
|
53
48
|
end
|
54
49
|
|
55
|
-
|
56
|
-
|
57
50
|
RSpec.configure { |c| c.include self }
|
58
51
|
end
|
59
|
-
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
module RSpec::ResemblesJsonMatchers
|
3
4
|
class ResemblesRouteMatcher
|
@@ -9,16 +10,18 @@ module RSpec::ResemblesJsonMatchers
|
|
9
10
|
route_string.include?(":")
|
10
11
|
end
|
11
12
|
|
13
|
+
attr_reader :expected
|
14
|
+
|
12
15
|
def initialize(expected_route)
|
13
|
-
@
|
16
|
+
@expected = expected_route
|
14
17
|
end
|
15
18
|
|
16
19
|
def description
|
17
|
-
"resemble route #{@
|
20
|
+
"resemble route #{@expected.inspect}"
|
18
21
|
end
|
19
22
|
|
20
23
|
def matches?(actual)
|
21
|
-
path = ActionDispatch::Journey::Path::Pattern.from_string(@
|
24
|
+
path = ActionDispatch::Journey::Path::Pattern.from_string(@expected)
|
22
25
|
actual =~ path.to_regexp
|
23
26
|
end
|
24
27
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RSpec
|
2
4
|
module ResemblesJsonMatchers
|
3
5
|
module StringIndent
|
4
6
|
def indent!(amount, indent_string = nil, indent_empty_lines = false)
|
5
|
-
indent_string = indent_string || self[/^[ \t]/] ||
|
7
|
+
indent_string = indent_string || self[/^[ \t]/] || " "
|
6
8
|
re = indent_empty_lines ? /^/ : /^(?!$)/
|
7
9
|
gsub!(re, indent_string * amount)
|
8
10
|
end
|
@@ -18,5 +20,5 @@ end
|
|
18
20
|
begin
|
19
21
|
require "active_support/core_ext/string/indent" # indent
|
20
22
|
rescue LoadError
|
21
|
-
String.
|
23
|
+
String.include RSpec::ResemblesJsonMatchers::StringIndent
|
22
24
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path("lib", __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
5
|
+
require "rspec/resembles_json_matchers/version"
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
8
|
spec.name = "rspec-resembles_json_matchers"
|
@@ -9,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
9
10
|
spec.authors = ["Paul Sadauskas"]
|
10
11
|
spec.email = ["psadauskas@gmail.com"]
|
11
12
|
|
12
|
-
spec.summary =
|
13
|
+
spec.summary = "Helpful matchers for comparing JSON documents."
|
13
14
|
spec.homepage = "https://github.com/paul/rspec-resembles_json_matchers"
|
14
15
|
|
15
16
|
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
@@ -25,18 +26,22 @@ Gem::Specification.new do |spec|
|
|
25
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
26
27
|
spec.require_paths = ["lib"]
|
27
28
|
|
28
|
-
spec.add_development_dependency "bundler", "~>
|
29
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
29
30
|
spec.add_development_dependency "rake"
|
30
31
|
spec.add_development_dependency "rspec", "~> 3.0"
|
32
|
+
|
31
33
|
spec.add_development_dependency "appraisal"
|
34
|
+
spec.add_development_dependency "awesome_print"
|
32
35
|
spec.add_development_dependency "guard"
|
33
36
|
spec.add_development_dependency "guard-rspec"
|
34
37
|
spec.add_development_dependency "pry-byebug"
|
35
38
|
spec.add_development_dependency "pry-state"
|
36
|
-
spec.add_development_dependency "
|
39
|
+
spec.add_development_dependency "rubocop"
|
40
|
+
spec.add_development_dependency "rubocop-performance"
|
41
|
+
spec.add_development_dependency "rubocop-rspec"
|
37
42
|
|
38
|
-
spec.add_runtime_dependency "rspec", ">= 2.0", "< 4.0.0.a"
|
39
|
-
spec.add_runtime_dependency "rspec-expectations", ">= 2.0", "< 4.0.0.a"
|
40
|
-
spec.add_runtime_dependency "rspec-support", ">= 2.0", "< 4.0.0.a"
|
41
43
|
spec.add_runtime_dependency "activesupport", ">= 3.0" # For core extensions
|
44
|
+
spec.add_runtime_dependency "rspec", ">= 3.0", "< 4.0.0.a"
|
45
|
+
spec.add_runtime_dependency "rspec-expectations", ">= 3.0", "< 4.0.0.a"
|
46
|
+
spec.add_runtime_dependency "rspec-support", ">= 3.0", "< 4.0.0.a"
|
42
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-resembles_json_matchers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Sadauskas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: awesome_print
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: guard
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,7 +137,7 @@ dependencies:
|
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
140
|
+
name: rubocop
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - ">="
|
@@ -137,32 +151,54 @@ dependencies:
|
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
154
|
+
name: rubocop-performance
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
157
|
- - ">="
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
146
|
-
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
147
165
|
- !ruby/object:Gem::Version
|
148
|
-
version:
|
149
|
-
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rubocop-rspec
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
150
175
|
prerelease: false
|
151
176
|
version_requirements: !ruby/object:Gem::Requirement
|
152
177
|
requirements:
|
153
178
|
- - ">="
|
154
179
|
- !ruby/object:Gem::Version
|
155
|
-
version: '
|
156
|
-
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: activesupport
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
157
186
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
187
|
+
version: '3.0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '3.0'
|
159
195
|
- !ruby/object:Gem::Dependency
|
160
|
-
name: rspec
|
196
|
+
name: rspec
|
161
197
|
requirement: !ruby/object:Gem::Requirement
|
162
198
|
requirements:
|
163
199
|
- - ">="
|
164
200
|
- !ruby/object:Gem::Version
|
165
|
-
version: '
|
201
|
+
version: '3.0'
|
166
202
|
- - "<"
|
167
203
|
- !ruby/object:Gem::Version
|
168
204
|
version: 4.0.0.a
|
@@ -172,17 +208,17 @@ dependencies:
|
|
172
208
|
requirements:
|
173
209
|
- - ">="
|
174
210
|
- !ruby/object:Gem::Version
|
175
|
-
version: '
|
211
|
+
version: '3.0'
|
176
212
|
- - "<"
|
177
213
|
- !ruby/object:Gem::Version
|
178
214
|
version: 4.0.0.a
|
179
215
|
- !ruby/object:Gem::Dependency
|
180
|
-
name: rspec-
|
216
|
+
name: rspec-expectations
|
181
217
|
requirement: !ruby/object:Gem::Requirement
|
182
218
|
requirements:
|
183
219
|
- - ">="
|
184
220
|
- !ruby/object:Gem::Version
|
185
|
-
version: '
|
221
|
+
version: '3.0'
|
186
222
|
- - "<"
|
187
223
|
- !ruby/object:Gem::Version
|
188
224
|
version: 4.0.0.a
|
@@ -192,17 +228,20 @@ dependencies:
|
|
192
228
|
requirements:
|
193
229
|
- - ">="
|
194
230
|
- !ruby/object:Gem::Version
|
195
|
-
version: '
|
231
|
+
version: '3.0'
|
196
232
|
- - "<"
|
197
233
|
- !ruby/object:Gem::Version
|
198
234
|
version: 4.0.0.a
|
199
235
|
- !ruby/object:Gem::Dependency
|
200
|
-
name:
|
236
|
+
name: rspec-support
|
201
237
|
requirement: !ruby/object:Gem::Requirement
|
202
238
|
requirements:
|
203
239
|
- - ">="
|
204
240
|
- !ruby/object:Gem::Version
|
205
241
|
version: '3.0'
|
242
|
+
- - "<"
|
243
|
+
- !ruby/object:Gem::Version
|
244
|
+
version: 4.0.0.a
|
206
245
|
type: :runtime
|
207
246
|
prerelease: false
|
208
247
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -210,6 +249,9 @@ dependencies:
|
|
210
249
|
- - ">="
|
211
250
|
- !ruby/object:Gem::Version
|
212
251
|
version: '3.0'
|
252
|
+
- - "<"
|
253
|
+
- !ruby/object:Gem::Version
|
254
|
+
version: 4.0.0.a
|
213
255
|
description:
|
214
256
|
email:
|
215
257
|
- psadauskas@gmail.com
|
@@ -219,19 +261,22 @@ extra_rdoc_files: []
|
|
219
261
|
files:
|
220
262
|
- ".gitignore"
|
221
263
|
- ".rspec"
|
264
|
+
- ".rubocop.yml"
|
222
265
|
- ".travis.yml"
|
223
266
|
- Appraisals
|
224
267
|
- Changelog.md
|
225
268
|
- Gemfile
|
226
269
|
- Guardfile
|
270
|
+
- LICENSE.txt
|
227
271
|
- README.md
|
228
272
|
- Rakefile
|
229
273
|
- bin/rspec
|
230
274
|
- examples/example_spec.rb
|
231
|
-
- gemfiles/
|
232
|
-
- gemfiles/rails_42.gemfile.lock
|
275
|
+
- gemfiles/.bundle/config
|
233
276
|
- gemfiles/rails_5.gemfile
|
234
277
|
- gemfiles/rails_5.gemfile.lock
|
278
|
+
- gemfiles/rails_6.gemfile
|
279
|
+
- gemfiles/rails_6.gemfile.lock
|
235
280
|
- lib/rspec/resembles_json_matchers.rb
|
236
281
|
- lib/rspec/resembles_json_matchers/attribute_differ.rb
|
237
282
|
- lib/rspec/resembles_json_matchers/attribute_matcher.rb
|
@@ -270,8 +315,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
315
|
- !ruby/object:Gem::Version
|
271
316
|
version: '0'
|
272
317
|
requirements: []
|
273
|
-
|
274
|
-
rubygems_version: 2.7.3
|
318
|
+
rubygems_version: 3.1.2
|
275
319
|
signing_key:
|
276
320
|
specification_version: 4
|
277
321
|
summary: Helpful matchers for comparing JSON documents.
|