hoodoo 1.19.0 → 2.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/hoodoo/active/active_model/uuid_validator.rb +0 -1
- data/lib/hoodoo/active/active_record/dated.rb +2 -2
- data/lib/hoodoo/active/active_record/support.rb +2 -1
- data/lib/hoodoo/active/active_record/uuid.rb +2 -2
- data/lib/hoodoo/active/active_record/writer.rb +1 -1
- data/lib/hoodoo/generator.rb +52 -12
- data/lib/hoodoo/monkey/patch/datadog_traced_amqp.rb +11 -6
- data/lib/hoodoo/monkey/patch/newrelic_middleware_analytics.rb +17 -10
- data/lib/hoodoo/monkey/patch/newrelic_traced_amqp.rb +71 -33
- data/lib/hoodoo/services/discovery/discoverers/by_drb/by_drb.rb +13 -8
- data/lib/hoodoo/services/middleware/exception_reporting/reporters/airbrake_reporter.rb +8 -3
- data/lib/hoodoo/services/middleware/interaction.rb +1 -1
- data/lib/hoodoo/services/middleware/middleware.rb +52 -41
- data/lib/hoodoo/version.rb +2 -2
- data/spec/active/active_record/creator_spec.rb +1 -1
- data/spec/active/active_record/dated_spec.rb +7 -7
- data/spec/active/active_record/finder_spec.rb +953 -839
- data/spec/active/active_record/manually_dated_spec.rb +1 -1
- data/spec/active/active_record/search_helper_spec.rb +1 -1
- data/spec/active/active_record/secure_spec.rb +2 -2
- data/spec/active/active_record/support_spec.rb +3 -3
- data/spec/monkey/patch/datadog_traced_amqp_spec.rb +10 -2
- data/spec/monkey/patch/newrelic_traced_amqp_spec.rb +54 -21
- data/spec/new_relic/agent/logger.rb +24 -0
- data/spec/new_relic/agent/transaction.rb +32 -0
- data/spec/services/discovery/discoverers/by_drb/by_drb_spec.rb +48 -2
- data/spec/services/middleware/exception_reporting/reporters/airbrake_reporter_spec.rb +4 -4
- data/spec/services/middleware/middleware_multi_local_spec.rb +41 -13
- data/spec/services/middleware/middleware_multi_remote_spec.rb +93 -67
- data/spec/services/middleware/middleware_spec.rb +80 -7
- data/spec/services/services/interface_spec.rb +2 -2
- data/spec/transient_store/transient_store/mocks/redis_spec.rb +8 -6
- metadata +30 -26
@@ -98,7 +98,7 @@ describe Hoodoo::Services::Middleware do
|
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
Hoodoo::Services::Middleware.new( NewRelic::Agent::Instrumentation::MiddlewareProxy.new )
|
101
|
+
Hoodoo::Services::Middleware.new( ::NewRelic::Agent::Instrumentation::MiddlewareProxy.new )
|
102
102
|
}.to raise_error(RuntimeError, "Hoodoo::Services::Middleware instance created with NewRelic-wrapped Service entity, but NewRelic API is not as expected by Hoodoo; incompatible NewRelic version.")
|
103
103
|
|
104
104
|
Object.send( :remove_const, :NewRelic )
|
@@ -118,7 +118,7 @@ describe Hoodoo::Services::Middleware do
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
Hoodoo::Services::Middleware.new( NewRelic::Agent::Instrumentation::MiddlewareProxy.new )
|
121
|
+
Hoodoo::Services::Middleware.new( ::NewRelic::Agent::Instrumentation::MiddlewareProxy.new )
|
122
122
|
}.to raise_error(RuntimeError, "Hoodoo::Services::Middleware instance created with non-Service entity of class 'Hash' - is this the last middleware in the chain via 'use()' and is Rack 'run()'-ing the correct thing?")
|
123
123
|
|
124
124
|
Object.send( :remove_const, :NewRelic )
|
@@ -148,7 +148,7 @@ describe Hoodoo::Services::Middleware do
|
|
148
148
|
end
|
149
149
|
end
|
150
150
|
|
151
|
-
Hoodoo::Services::Middleware.new( NewRelic::Agent::Instrumentation::MiddlewareProxy.new )
|
151
|
+
Hoodoo::Services::Middleware.new( ::NewRelic::Agent::Instrumentation::MiddlewareProxy.new )
|
152
152
|
}.to raise_error(RuntimeError, "Hoodoo::Services::Middleware encountered invalid interface class RSpecTestServiceStubBadInterface via service class RSpecTestServiceStubBad")
|
153
153
|
|
154
154
|
Object.send( :remove_const, :NewRelic )
|
@@ -267,6 +267,37 @@ describe Hoodoo::Services::Middleware do
|
|
267
267
|
end
|
268
268
|
end
|
269
269
|
|
270
|
+
it 'rejects attempts to send body data for HTTP methods that should not have any' do
|
271
|
+
|
272
|
+
# I can't find a way to persuade Rack to send body data instead of query
|
273
|
+
# parameters for GET (it's trying to Do The Right Thing) so instead I'm
|
274
|
+
# forced to write expectations that assume the implementation in the
|
275
|
+
# middleware.
|
276
|
+
#
|
277
|
+
allow_any_instance_of( Rack::Request ).to receive( :body ).and_return( StringIO.new( "hello world" ) )
|
278
|
+
get '/v2/rspec_test_service_stub', nil, { 'CONTENT_TYPE' => 'application/json; charset=utf-8' }
|
279
|
+
|
280
|
+
expect(last_response.status).to eq(422)
|
281
|
+
|
282
|
+
result = JSON.parse(last_response.body)
|
283
|
+
expect(result['errors'][0]['code']).to eq('platform.malformed')
|
284
|
+
expect(result['errors'][0]['message']).to eq('Unexpected body data for this action')
|
285
|
+
end
|
286
|
+
|
287
|
+
it 'rejects oversized payloads' do
|
288
|
+
stub_const('Hoodoo::Services::Middleware::MAXIMUM_PAYLOAD_SIZE', 10)
|
289
|
+
|
290
|
+
post '/v2/rspec_test_service_stub',
|
291
|
+
JSON.fast_generate( { 'key' => 'this is definitely larger than 10 characters as JSON' } ),
|
292
|
+
{ 'CONTENT_TYPE' => 'application/json; charset=utf-8' }
|
293
|
+
|
294
|
+
expect(last_response.status).to eq(422)
|
295
|
+
|
296
|
+
result = JSON.parse(last_response.body)
|
297
|
+
expect(result['errors'][0]['code']).to eq('platform.malformed')
|
298
|
+
expect(result['errors'][0]['message']).to eq('Body data exceeds configured maximum size for platform')
|
299
|
+
end
|
300
|
+
|
270
301
|
it 'should generate interaction IDs and other standard headers even for error states' do
|
271
302
|
get '/v2/rspec_test_service_stub'
|
272
303
|
|
@@ -853,7 +884,7 @@ describe Hoodoo::Services::Middleware do
|
|
853
884
|
expect(result['errors'][0]['reference']).to eq('search: thing\\, thang')
|
854
885
|
end
|
855
886
|
|
856
|
-
it 'should respond to permitted framework search query parameter' do
|
887
|
+
it 'should respond to permitted framework search query parameter "created_after"' do
|
857
888
|
dt = DateTime.parse( Time.now.round.iso8601 )
|
858
889
|
str = dt.iso8601
|
859
890
|
encstr = CGI.escape( CGI.escape( str ) ) # Remember, search values within the subquery string must be double escaped
|
@@ -866,7 +897,7 @@ describe Hoodoo::Services::Middleware do
|
|
866
897
|
expect(last_response.status).to eq(200)
|
867
898
|
end
|
868
899
|
|
869
|
-
it 'should reject malformed value in permitted framework search query parameter' do
|
900
|
+
it 'should reject malformed value in permitted framework search query parameter "created_after"' do
|
870
901
|
expect_any_instance_of(RSpecTestServiceStubImplementation).to_not receive(:list)
|
871
902
|
get "/v2/rspec_test_service_stub?search=created_after%3Dthing", nil, { 'CONTENT_TYPE' => 'application/json; charset=utf-8' }
|
872
903
|
expect(last_response.status).to eq(422)
|
@@ -876,6 +907,27 @@ describe Hoodoo::Services::Middleware do
|
|
876
907
|
expect(result['errors'][0]['reference']).to eq('search: created_after')
|
877
908
|
end
|
878
909
|
|
910
|
+
it 'should respond to permitted framework search query parameter "created_by"' do
|
911
|
+
encstr = Hoodoo::UUID.generate()
|
912
|
+
|
913
|
+
expect_any_instance_of(RSpecTestServiceStubImplementation).to receive(:list).once do | ignored_rspec_mock_instance, context |
|
914
|
+
expect(context.request.list.search_data).to eq({'created_by' => encstr})
|
915
|
+
end
|
916
|
+
|
917
|
+
get "/v2/rspec_test_service_stub?search=created_by%3D#{ encstr }", nil, { 'CONTENT_TYPE' => 'application/json; charset=utf-8' }
|
918
|
+
expect(last_response.status).to eq(200)
|
919
|
+
end
|
920
|
+
|
921
|
+
it 'should reject malformed value in permitted framework search query parameter "created_by"' do
|
922
|
+
expect_any_instance_of(RSpecTestServiceStubImplementation).to_not receive(:list)
|
923
|
+
get "/v2/rspec_test_service_stub?search=created_by%3Dnotauuid", nil, { 'CONTENT_TYPE' => 'application/json; charset=utf-8' }
|
924
|
+
expect(last_response.status).to eq(422)
|
925
|
+
result = JSON.parse(last_response.body)
|
926
|
+
expect(result['errors'][0]['code']).to eq('platform.malformed')
|
927
|
+
expect(result['errors'][0]['message']).to eq('One or more malformed or invalid query string parameters')
|
928
|
+
expect(result['errors'][0]['reference']).to eq('search: created_by')
|
929
|
+
end
|
930
|
+
|
879
931
|
it 'should reject prohibited framework search query parameter' do
|
880
932
|
str = Time.now.iso8601
|
881
933
|
encstr = CGI.escape( CGI.escape( str ) ) # Remember, search values within the subquery string must be double escaped
|
@@ -946,7 +998,7 @@ describe Hoodoo::Services::Middleware do
|
|
946
998
|
expect(result['errors'][0]['reference']).to eq('filter: thung\\, theng')
|
947
999
|
end
|
948
1000
|
|
949
|
-
it 'should respond to permitted framework filter query parameter' do
|
1001
|
+
it 'should respond to permitted framework filter query parameter "created_before"' do
|
950
1002
|
dt = DateTime.parse( Time.now.round.iso8601 )
|
951
1003
|
str = dt.iso8601
|
952
1004
|
encstr = CGI.escape( CGI.escape( str ) ) # Remember, search values within the subquery string must be double escaped
|
@@ -959,7 +1011,7 @@ describe Hoodoo::Services::Middleware do
|
|
959
1011
|
expect(last_response.status).to eq(200)
|
960
1012
|
end
|
961
1013
|
|
962
|
-
it 'should reject malformed value in permitted framework filter query parameter' do
|
1014
|
+
it 'should reject malformed value in permitted framework filter query parameter "created_before' do
|
963
1015
|
expect_any_instance_of(RSpecTestServiceStubImplementation).to_not receive(:list)
|
964
1016
|
get "/v2/rspec_test_service_stub?filter=created_before%3Dthing", nil, { 'CONTENT_TYPE' => 'application/json; charset=utf-8' }
|
965
1017
|
expect(last_response.status).to eq(422)
|
@@ -969,6 +1021,27 @@ describe Hoodoo::Services::Middleware do
|
|
969
1021
|
expect(result['errors'][0]['reference']).to eq('filter: created_before')
|
970
1022
|
end
|
971
1023
|
|
1024
|
+
it 'should respond to permitted framework filter query parameter "created_by"' do
|
1025
|
+
encstr = Hoodoo::UUID.generate()
|
1026
|
+
|
1027
|
+
expect_any_instance_of(RSpecTestServiceStubImplementation).to receive(:list).once do | ignored_rspec_mock_instance, context |
|
1028
|
+
expect(context.request.list.filter_data).to eq({'created_by' => encstr})
|
1029
|
+
end
|
1030
|
+
|
1031
|
+
get "/v2/rspec_test_service_stub?filter=created_by%3D#{ encstr }", nil, { 'CONTENT_TYPE' => 'application/json; charset=utf-8' }
|
1032
|
+
expect(last_response.status).to eq(200)
|
1033
|
+
end
|
1034
|
+
|
1035
|
+
it 'should reject malformed value in permitted framework filter query parameter "created_by' do
|
1036
|
+
expect_any_instance_of(RSpecTestServiceStubImplementation).to_not receive(:list)
|
1037
|
+
get "/v2/rspec_test_service_stub?filter=created_by%3Dnotauuid", nil, { 'CONTENT_TYPE' => 'application/json; charset=utf-8' }
|
1038
|
+
expect(last_response.status).to eq(422)
|
1039
|
+
result = JSON.parse(last_response.body)
|
1040
|
+
expect(result['errors'][0]['code']).to eq('platform.malformed')
|
1041
|
+
expect(result['errors'][0]['message']).to eq('One or more malformed or invalid query string parameters')
|
1042
|
+
expect(result['errors'][0]['reference']).to eq('filter: created_by')
|
1043
|
+
end
|
1044
|
+
|
972
1045
|
it 'should reject prohibited framework filter query parameter' do
|
973
1046
|
str = Time.now.iso8601
|
974
1047
|
encstr = CGI.escape( CGI.escape( str ) ) # Remember, search values within the subquery string must be double escaped
|
@@ -19,7 +19,7 @@ class RSpecTestInterfaceInterfaceA < Hoodoo::Services::Interface
|
|
19
19
|
search :search_one, :search_two, :search_three
|
20
20
|
filter :filter_one, :filter_two, :filter_three
|
21
21
|
do_not_search :created_after, :created_before
|
22
|
-
do_not_filter :created_after
|
22
|
+
do_not_filter :created_after, :created_by
|
23
23
|
end
|
24
24
|
|
25
25
|
to_create do
|
@@ -99,7 +99,7 @@ describe Hoodoo::Services::Interface do
|
|
99
99
|
expect(RSpecTestInterfaceInterfaceA.to_list.search).to eq(['search_one', 'search_two', 'search_three'])
|
100
100
|
expect(RSpecTestInterfaceInterfaceA.to_list.filter).to eq(['filter_one', 'filter_two', 'filter_three'])
|
101
101
|
expect(RSpecTestInterfaceInterfaceA.to_list.do_not_search).to eq(['created_after', 'created_before'])
|
102
|
-
expect(RSpecTestInterfaceInterfaceA.to_list.do_not_filter).to eq(['created_after'])
|
102
|
+
expect(RSpecTestInterfaceInterfaceA.to_list.do_not_filter).to eq(['created_after', 'created_by'])
|
103
103
|
expect(RSpecTestInterfaceInterfaceA.to_create).to_not be_nil
|
104
104
|
expect(RSpecTestInterfaceInterfaceA.to_create.get_schema().properties['foo']).to be_a(Hoodoo::Presenters::Text)
|
105
105
|
expect(RSpecTestInterfaceInterfaceA.to_create.get_schema().properties['bar']).to be_a(Hoodoo::Presenters::Enum)
|
@@ -25,7 +25,7 @@ describe Hoodoo::TransientStore::Mocks::Redis do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
context '
|
28
|
+
context 'approximate old behaviour by' do
|
29
29
|
it 'using the mock client in test mode if there is an empty host' do
|
30
30
|
expect_any_instance_of( Hoodoo::TransientStore::Mocks::Redis ).to receive( :initialize ).once.and_call_original()
|
31
31
|
|
@@ -47,17 +47,19 @@ describe Hoodoo::TransientStore::Mocks::Redis do
|
|
47
47
|
it 'using a real client in test mode if there is a defined host' do
|
48
48
|
expect_any_instance_of( ::Redis ).to receive( :initialize ).once.and_call_original()
|
49
49
|
|
50
|
-
#
|
51
|
-
#
|
52
|
-
# above which is important.
|
50
|
+
# If Redis is missing, Hoodoo raises an exception. Allow that in case no
|
51
|
+
# real Redis server is present, but don't allow other exceptions.
|
53
52
|
#
|
54
|
-
|
55
|
-
spec_helper_silence_stream( $
|
53
|
+
begin
|
54
|
+
spec_helper_silence_stream( $stdout ) do
|
56
55
|
Hoodoo::TransientStore::Redis.new(
|
57
56
|
storage_host_uri: 'redis://localhost:6379',
|
58
57
|
namespace: 'test_namespace_'
|
59
58
|
)
|
60
59
|
end
|
60
|
+
rescue => e
|
61
|
+
expect( e ).to be_a( RuntimeError )
|
62
|
+
expect( e.message ).to include( "Hoodoo::TransientStore::Redis: Cannot connect to Redis at 'redis://localhost:6379': " )
|
61
63
|
end
|
62
64
|
end
|
63
65
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoodoo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Loyalty New Zealand
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dalli
|
@@ -30,28 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '3.
|
33
|
+
version: '3.3'
|
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: '3.
|
40
|
+
version: '3.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '12.0'
|
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: '
|
54
|
+
version: '12.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: simplecov-rcov
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '4.
|
75
|
+
version: '4.3'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '4.
|
82
|
+
version: '4.3'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rack-test
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,56 +100,56 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '3.
|
103
|
+
version: '3.5'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '3.
|
110
|
+
version: '3.5'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rspec-mocks
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '3.
|
117
|
+
version: '3.5'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '3.
|
124
|
+
version: '3.5'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: activerecord
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '5.1'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
138
|
+
version: '5.1'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: activesupport
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
145
|
+
version: '5.1'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
152
|
+
version: '5.1'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: database_cleaner
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,28 +170,28 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: '0.
|
173
|
+
version: '0.21'
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: '0.
|
180
|
+
version: '0.21'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: byebug
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
187
|
+
version: '9.0'
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
194
|
+
version: '9.0'
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: timecop
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -226,28 +226,28 @@ dependencies:
|
|
226
226
|
requirements:
|
227
227
|
- - "~>"
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version: '
|
229
|
+
version: '6.2'
|
230
230
|
type: :development
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
233
|
requirements:
|
234
234
|
- - "~>"
|
235
235
|
- !ruby/object:Gem::Version
|
236
|
-
version: '
|
236
|
+
version: '6.2'
|
237
237
|
- !ruby/object:Gem::Dependency
|
238
238
|
name: le
|
239
239
|
requirement: !ruby/object:Gem::Requirement
|
240
240
|
requirements:
|
241
241
|
- - "~>"
|
242
242
|
- !ruby/object:Gem::Version
|
243
|
-
version: '2.
|
243
|
+
version: '2.7'
|
244
244
|
type: :development
|
245
245
|
prerelease: false
|
246
246
|
version_requirements: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
248
|
- - "~>"
|
249
249
|
- !ruby/object:Gem::Version
|
250
|
-
version: '2.
|
250
|
+
version: '2.7'
|
251
251
|
description: Simplify the implementation of consistent services within an API-based
|
252
252
|
software platform.
|
253
253
|
email:
|
@@ -433,7 +433,9 @@ files:
|
|
433
433
|
- spec/monkey/patch/datadog_traced_amqp_spec.rb
|
434
434
|
- spec/monkey/patch/newrelic_middleware_analytics_spec.rb
|
435
435
|
- spec/monkey/patch/newrelic_traced_amqp_spec.rb
|
436
|
+
- spec/new_relic/agent/logger.rb
|
436
437
|
- spec/new_relic/agent/method_tracer.rb
|
438
|
+
- spec/new_relic/agent/transaction.rb
|
437
439
|
- spec/newrelic_rpm.rb
|
438
440
|
- spec/presenters/base_dsl_spec.rb
|
439
441
|
- spec/presenters/base_spec.rb
|
@@ -514,7 +516,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
514
516
|
requirements:
|
515
517
|
- - ">="
|
516
518
|
- !ruby/object:Gem::Version
|
517
|
-
version:
|
519
|
+
version: 2.2.7
|
518
520
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
519
521
|
requirements:
|
520
522
|
- - ">="
|
@@ -522,7 +524,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
522
524
|
version: '0'
|
523
525
|
requirements: []
|
524
526
|
rubyforge_project:
|
525
|
-
rubygems_version: 2.
|
527
|
+
rubygems_version: 2.6.14
|
526
528
|
signing_key:
|
527
529
|
specification_version: 4
|
528
530
|
summary: Opinionated APIs
|
@@ -578,7 +580,9 @@ test_files:
|
|
578
580
|
- spec/monkey/patch/datadog_traced_amqp_spec.rb
|
579
581
|
- spec/monkey/patch/newrelic_middleware_analytics_spec.rb
|
580
582
|
- spec/monkey/patch/newrelic_traced_amqp_spec.rb
|
583
|
+
- spec/new_relic/agent/logger.rb
|
581
584
|
- spec/new_relic/agent/method_tracer.rb
|
585
|
+
- spec/new_relic/agent/transaction.rb
|
582
586
|
- spec/newrelic_rpm.rb
|
583
587
|
- spec/presenters/base_dsl_spec.rb
|
584
588
|
- spec/presenters/base_spec.rb
|