gruf-rspec 0.1.1 → 0.3.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/CHANGELOG.md +26 -0
- data/README.md +27 -6
- data/gruf-rspec.gemspec +15 -9
- data/lib/gruf/rspec.rb +18 -10
- data/lib/gruf/rspec/authentication_hydrators/base.rb +2 -0
- data/lib/gruf/rspec/authentication_hydrators/basic.rb +2 -0
- data/lib/gruf/rspec/configuration.rb +7 -3
- data/lib/gruf/rspec/error_matcher.rb +3 -1
- data/lib/gruf/rspec/helpers.rb +5 -0
- data/lib/gruf/rspec/metadata_factory.rb +2 -0
- data/lib/gruf/rspec/version.rb +3 -1
- metadata +72 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5d38dd3004e975f13b70937942bc8ea4abe802f7a6986d19ac83d9769553e03
|
4
|
+
data.tar.gz: af9e5b8e3e6e9770f3cc2c2ee118ddfa01588a5b95358860dfaa3917ce8658d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6787040f316170264bf9c126adba2699e94b32aac4865ed689524b0ae690860c0544bf6ba3f18ac398db5a79c773bb5601d869f1b1162ac94b17f01f3819cfe2
|
7
|
+
data.tar.gz: 0ca44f374317fe24ccfa4344910623a7b3601cf85e0a5e1b4ce376116215e8dcf5dd9d4cf2d31cf4cc02ee410f39c92dc7a5e58bb52d1a5be2313314e2ecf8ae
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,32 @@ Changelog for the gruf-rspec gem.
|
|
2
2
|
|
3
3
|
### Pending release
|
4
4
|
|
5
|
+
### 0.3.0
|
6
|
+
|
7
|
+
- [#7] Fix issue where RPC_SPEC_PATH defaulting is hardcoded
|
8
|
+
- Drop support for Ruby < 2.6, add 2.7 tests
|
9
|
+
- Update rubocop to 1.0
|
10
|
+
|
11
|
+
### 0.2.2
|
12
|
+
|
13
|
+
* Loosen rspec dependency
|
14
|
+
|
15
|
+
### 0.2.1
|
16
|
+
|
17
|
+
* Loosen rack dependency
|
18
|
+
|
19
|
+
### 0.2.0
|
20
|
+
|
21
|
+
* Deprecate support for Ruby < 2.4
|
22
|
+
|
23
|
+
### 0.1.3
|
24
|
+
|
25
|
+
* Add ability to include metadata in rpc calls
|
26
|
+
|
27
|
+
### 0.1.2
|
28
|
+
|
29
|
+
* Fix issue with RSPEC_NAMESPACE conflicts with other gems
|
30
|
+
|
5
31
|
### 0.1.1
|
6
32
|
|
7
33
|
* Add be_a_successful_rpc matcher that matches on success and the appropriate response class
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# gruf-rspec
|
2
2
|
|
3
|
-
[](https://circleci.com/gh/bigcommerce/gruf-rspec/tree/main) [](https://badge.fury.io/rb/gruf-rspec) [](https://inch-ci.org/github/bigcommerce/gruf-rspec?branch=main)
|
4
4
|
|
5
5
|
Assistance helpers and custom type for easy testing [Gruf](https://github.com/bigcommerce/gruf) controllers with
|
6
6
|
[RSpec](https://github.com/rspec/rspec).
|
@@ -17,12 +17,13 @@ Then add the following code to your `spec_helper.rb`:
|
|
17
17
|
require 'gruf/rspec'
|
18
18
|
```
|
19
19
|
|
20
|
-
Note that this gem requires at least Gruf 2.5.1
|
20
|
+
Note that this gem requires at least Ruby 2.4+, Gruf 2.5.1+, and RSpec 3.8+.
|
21
21
|
|
22
22
|
## Usage
|
23
23
|
|
24
24
|
* Add a test for a Gruf controller in `spec/rpc`
|
25
|
-
* Run the `run_rpc` method with
|
25
|
+
* Run the `run_rpc` method with three args: The gRPC method name, the request object
|
26
|
+
and the active_call_options. The third argument is optional.
|
26
27
|
* Validate the response
|
27
28
|
|
28
29
|
## Example
|
@@ -46,9 +47,12 @@ To test it, you'd create `spec/rpc/thing_controller_spec.rb`:
|
|
46
47
|
describe ThingController do
|
47
48
|
describe '.get_thing' do
|
48
49
|
let(:request_proto) { Rpc::GetThingRequest.new(id: rand(1..100)) }
|
49
|
-
|
50
|
-
|
51
|
-
|
50
|
+
let(:metadata) {
|
51
|
+
{ 'user_id' => 'axj42i' }
|
52
|
+
}
|
53
|
+
|
54
|
+
subject { run_rpc(:GetThing, request_proto, active_call_options: { metadata: metadata }) }
|
55
|
+
|
52
56
|
it 'will return the thing' do
|
53
57
|
expect(subject).to be_a(Rpc::GetThingResponse)
|
54
58
|
expect(subject.id).to eq request_proto.id
|
@@ -125,6 +129,23 @@ Gruf::Rspec.configure do |c|
|
|
125
129
|
end
|
126
130
|
```
|
127
131
|
|
132
|
+
Alternatively, you can pass configuration of the path via ENV. For example, where
|
133
|
+
`RPC_SPEC_PATH="/spec/rpc_controllers"` is set in a `.env` file:
|
134
|
+
|
135
|
+
```bash
|
136
|
+
bundle exec dotenv rspec
|
137
|
+
```
|
138
|
+
|
139
|
+
Or, add `require: false` to the gemspec for the `gruf-rspec` gem, and then explicitly require it after setting the ENV
|
140
|
+
var:
|
141
|
+
|
142
|
+
```ruby
|
143
|
+
Dotenv.load # assuming the .env file has the RPC_SPEC_PATH var set
|
144
|
+
# or:
|
145
|
+
ENV['RPC_SPEC_PATH'] = '/spec/rpc_controllers'
|
146
|
+
require 'gruf/rspec'
|
147
|
+
```
|
148
|
+
|
128
149
|
## License
|
129
150
|
|
130
151
|
Copyright (c) 2018-present, BigCommerce Pty. Ltd. All rights reserved
|
data/gruf-rspec.gemspec
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018-present, BigCommerce Pty. Ltd. All rights reserved
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
@@ -13,7 +15,7 @@
|
|
13
15
|
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
14
16
|
# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
15
17
|
#
|
16
|
-
lib = File.expand_path('
|
18
|
+
lib = File.expand_path('lib', __dir__)
|
17
19
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
18
20
|
require 'gruf/rspec/version'
|
19
21
|
|
@@ -24,19 +26,23 @@ Gem::Specification.new do |spec|
|
|
24
26
|
spec.email = ['splittingred@gmail.com']
|
25
27
|
spec.license = 'MIT'
|
26
28
|
|
27
|
-
spec.summary =
|
28
|
-
spec.description =
|
29
|
+
spec.summary = 'RSpec assistance library for gruf'
|
30
|
+
spec.description = 'RSpec assistance library for gruf, including testing helpers'
|
29
31
|
spec.homepage = 'https://github.com/bigcommerce/gruf-rspec'
|
30
32
|
|
31
|
-
|
32
|
-
|
33
|
+
spec.required_ruby_version = '>= 2.6'
|
34
|
+
|
33
35
|
spec.files = Dir['README.md', 'CHANGELOG.md', 'CODE_OF_CONDUCT.md', 'lib/**/*', 'gruf-rspec.gemspec']
|
34
36
|
spec.require_paths = ['lib']
|
35
37
|
|
36
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
37
|
-
spec.add_development_dependency '
|
38
|
-
spec.add_development_dependency 'pry'
|
38
|
+
spec.add_development_dependency 'bundler', '~> 1.11'
|
39
|
+
spec.add_development_dependency 'bundler-audit', '~> 0.6'
|
40
|
+
spec.add_development_dependency 'pry', '>= 0.13'
|
41
|
+
spec.add_development_dependency 'rspec', '~> 3.8'
|
42
|
+
spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4'
|
43
|
+
spec.add_development_dependency 'rubocop', '~> 0.82'
|
44
|
+
spec.add_development_dependency 'simplecov', '~> 0.15'
|
39
45
|
|
40
46
|
spec.add_dependency 'gruf', '~> 2.5', '>= 2.5.1'
|
41
|
-
spec.add_dependency 'rspec', '
|
47
|
+
spec.add_dependency 'rspec', '>= 3.8'
|
42
48
|
end
|
data/lib/gruf/rspec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018-present, BigCommerce Pty. Ltd. All rights reserved
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
@@ -16,12 +18,12 @@
|
|
16
18
|
begin
|
17
19
|
require 'rspec/core'
|
18
20
|
require 'rspec/expectations'
|
19
|
-
|
20
|
-
|
21
|
+
GRUF_RSPEC_NAMESPACE = RSpec
|
22
|
+
GRUF_RSPEC_RUNNER = RSpec
|
21
23
|
rescue LoadError # old rspec compat
|
22
24
|
require 'spec'
|
23
|
-
|
24
|
-
|
25
|
+
GRUF_RSPEC_NAMESPACE = Spec
|
26
|
+
GRUF_RSPEC_RUNNER = Spec::Runner
|
25
27
|
end
|
26
28
|
|
27
29
|
require_relative 'rspec/version'
|
@@ -29,7 +31,13 @@ require_relative 'rspec/configuration'
|
|
29
31
|
require_relative 'rspec/helpers'
|
30
32
|
require_relative 'rspec/error_matcher'
|
31
33
|
|
34
|
+
##
|
35
|
+
# Base gruf module
|
36
|
+
#
|
32
37
|
module Gruf
|
38
|
+
##
|
39
|
+
# Base gruf-rspec module
|
40
|
+
#
|
33
41
|
module Rspec
|
34
42
|
extend Gruf::Rspec::Configuration
|
35
43
|
end
|
@@ -37,7 +45,7 @@ end
|
|
37
45
|
|
38
46
|
Gruf::Rspec.reset # initial reset
|
39
47
|
|
40
|
-
|
48
|
+
GRUF_RSPEC_RUNNER.configure do |config|
|
41
49
|
config.include Gruf::Rspec::Helpers
|
42
50
|
|
43
51
|
config.define_derived_metadata(file_path: Regexp.new(Gruf::Rspec.rpc_spec_path)) do |metadata|
|
@@ -45,16 +53,16 @@ RSPEC_RUNNER.configure do |config|
|
|
45
53
|
end
|
46
54
|
|
47
55
|
config.before(:each, type: :gruf_controller) do
|
48
|
-
define_singleton_method :run_rpc do |method_name, request, &block|
|
56
|
+
define_singleton_method :run_rpc do |method_name, request, active_call_options: {}, &block|
|
49
57
|
@gruf_controller = described_class.new(
|
50
58
|
method_key: method_name.to_s.underscore.to_sym,
|
51
59
|
service: grpc_bound_service,
|
52
60
|
rpc_desc: grpc_bound_service.rpc_descs[method_name.to_sym],
|
53
|
-
active_call: grpc_active_call,
|
61
|
+
active_call: grpc_active_call(active_call_options),
|
54
62
|
message: request
|
55
63
|
)
|
56
64
|
resp = @gruf_controller.call(@gruf_controller.request.method_key)
|
57
|
-
block.call(resp) if block
|
65
|
+
block.call(resp) if block.is_a?(Proc)
|
58
66
|
resp
|
59
67
|
end
|
60
68
|
|
@@ -68,7 +76,7 @@ RSPEC_RUNNER.configure do |config|
|
|
68
76
|
end
|
69
77
|
end
|
70
78
|
|
71
|
-
|
79
|
+
GRUF_RSPEC_NAMESPACE::Matchers.define :raise_rpc_error do |expected_error_class|
|
72
80
|
supports_block_expectations
|
73
81
|
|
74
82
|
def with_serialized(&block)
|
@@ -90,7 +98,7 @@ RSPEC_NAMESPACE::Matchers.define :raise_rpc_error do |expected_error_class|
|
|
90
98
|
end
|
91
99
|
end
|
92
100
|
|
93
|
-
|
101
|
+
GRUF_RSPEC_NAMESPACE::Matchers.define :be_a_successful_rpc do |_|
|
94
102
|
match do |actual|
|
95
103
|
if !gruf_controller || actual.is_a?(GRPC::BadStatus) || actual.is_a?(GRPC::Core::CallError)
|
96
104
|
false
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018-present, BigCommerce Pty. Ltd. All rights reserved
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
@@ -22,12 +24,14 @@ module Gruf
|
|
22
24
|
# Represents configuration settings for the system
|
23
25
|
#
|
24
26
|
module Configuration
|
27
|
+
DEFAULT_RSPEC_PATH = '/spec/rpc/'
|
28
|
+
|
25
29
|
VALID_CONFIG_KEYS = {
|
26
30
|
authentication_hydrators: {
|
27
31
|
base: Gruf::Rspec::AuthenticationHydrators::Base,
|
28
32
|
basic: Gruf::Rspec::AuthenticationHydrators::Basic
|
29
33
|
},
|
30
|
-
rpc_spec_path: '
|
34
|
+
rpc_spec_path: ENV.fetch('RPC_SPEC_PATH', DEFAULT_RSPEC_PATH).to_s
|
31
35
|
}.freeze
|
32
36
|
|
33
37
|
attr_accessor *VALID_CONFIG_KEYS.keys
|
@@ -69,9 +73,9 @@ module Gruf
|
|
69
73
|
#
|
70
74
|
def reset
|
71
75
|
VALID_CONFIG_KEYS.each do |k, v|
|
72
|
-
send(
|
76
|
+
send("#{k}=", v)
|
73
77
|
end
|
74
|
-
self.rpc_spec_path = '
|
78
|
+
self.rpc_spec_path = ::ENV.fetch('RPC_SPEC_PATH', DEFAULT_RSPEC_PATH).to_s
|
75
79
|
options
|
76
80
|
end
|
77
81
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018-present, BigCommerce Pty. Ltd. All rights reserved
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
@@ -110,7 +112,7 @@ module Gruf
|
|
110
112
|
# Deserialize the error from the response
|
111
113
|
#
|
112
114
|
def deserialize_error
|
113
|
-
@error_serializer
|
115
|
+
@error_serializer&.new(@rpc_response.to_status.metadata[Gruf.error_metadata_key.to_sym])&.deserialize
|
114
116
|
end
|
115
117
|
end
|
116
118
|
end
|
data/lib/gruf/rspec/helpers.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018-present, BigCommerce Pty. Ltd. All rights reserved
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
@@ -17,6 +19,9 @@ require_relative 'metadata_factory'
|
|
17
19
|
|
18
20
|
module Gruf
|
19
21
|
module Rspec
|
22
|
+
##
|
23
|
+
# Module for including rspec helpers
|
24
|
+
#
|
20
25
|
module Helpers
|
21
26
|
##
|
22
27
|
# @param [Hash] options
|
data/lib/gruf/rspec/version.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright (c) 2018-present, BigCommerce Pty. Ltd. All rights reserved
|
2
4
|
#
|
3
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
@@ -15,6 +17,6 @@
|
|
15
17
|
#
|
16
18
|
module Gruf
|
17
19
|
module Rspec
|
18
|
-
VERSION = '0.
|
20
|
+
VERSION = '0.3.0'
|
19
21
|
end
|
20
22
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gruf-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shaun McCormick
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,42 +16,98 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.11'
|
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: '1.
|
26
|
+
version: '1.11'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bundler-audit
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0.6'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0.6'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '0.13'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '0.13'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.8'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.8'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec_junit_formatter
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.4'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.4'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.82'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.82'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: simplecov
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.15'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.15'
|
55
111
|
- !ruby/object:Gem::Dependency
|
56
112
|
name: gruf
|
57
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,14 +132,14 @@ dependencies:
|
|
76
132
|
name: rspec
|
77
133
|
requirement: !ruby/object:Gem::Requirement
|
78
134
|
requirements:
|
79
|
-
- - "
|
135
|
+
- - ">="
|
80
136
|
- !ruby/object:Gem::Version
|
81
137
|
version: '3.8'
|
82
138
|
type: :runtime
|
83
139
|
prerelease: false
|
84
140
|
version_requirements: !ruby/object:Gem::Requirement
|
85
141
|
requirements:
|
86
|
-
- - "
|
142
|
+
- - ">="
|
87
143
|
- !ruby/object:Gem::Version
|
88
144
|
version: '3.8'
|
89
145
|
description: RSpec assistance library for gruf, including testing helpers
|
@@ -109,7 +165,7 @@ homepage: https://github.com/bigcommerce/gruf-rspec
|
|
109
165
|
licenses:
|
110
166
|
- MIT
|
111
167
|
metadata: {}
|
112
|
-
post_install_message:
|
168
|
+
post_install_message:
|
113
169
|
rdoc_options: []
|
114
170
|
require_paths:
|
115
171
|
- lib
|
@@ -117,16 +173,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
117
173
|
requirements:
|
118
174
|
- - ">="
|
119
175
|
- !ruby/object:Gem::Version
|
120
|
-
version: '
|
176
|
+
version: '2.6'
|
121
177
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
178
|
requirements:
|
123
179
|
- - ">="
|
124
180
|
- !ruby/object:Gem::Version
|
125
181
|
version: '0'
|
126
182
|
requirements: []
|
127
|
-
|
128
|
-
|
129
|
-
signing_key:
|
183
|
+
rubygems_version: 3.0.9
|
184
|
+
signing_key:
|
130
185
|
specification_version: 4
|
131
186
|
summary: RSpec assistance library for gruf
|
132
187
|
test_files: []
|