source_route 0.5.0 → 0.6.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/.gitignore +2 -1
- data/README.md +12 -17
- data/lib/source_route.rb +8 -4
- data/lib/source_route/config.rb +17 -6
- data/lib/source_route/formats/html.rb +1 -3
- data/lib/source_route/formats/html_semantic.slim +13 -12
- data/lib/source_route/formats/html_semantic_vue.slim +105 -0
- data/lib/source_route/generate_result.rb +14 -13
- data/lib/source_route/json_overrides/activerecord_associations_association.rb +30 -24
- data/lib/source_route/proxy.rb +5 -5
- data/lib/source_route/rails_plugins/source_track_middleware.rb +7 -8
- data/lib/source_route/tp_result.rb +2 -0
- data/lib/source_route/{tp_result_chain.rb → trace_chain.rb} +2 -2
- data/lib/source_route/{tp_filter.rb → trace_filter.rb} +13 -4
- data/lib/source_route/version.rb +1 -1
- data/source_route.gemspec +0 -1
- data/test/sample_app.rb +9 -0
- data/test/source_route/config_test.rb +9 -7
- data/test/source_route/{tp_filter_test.rb → trace_filter_test.rb} +11 -11
- data/test/source_route_test.rb +39 -27
- metadata +8 -24
- data/lib/source_route/formats/html_semantic.slim.failtry +0 -257
- data/lib/source_route/jsonify.rb +0 -12
data/lib/source_route/proxy.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module SourceRoute
|
2
2
|
|
3
|
-
class Proxy
|
3
|
+
class Proxy
|
4
4
|
include Singleton
|
5
5
|
|
6
6
|
attr_accessor :config, :tp, :result_builder
|
@@ -19,17 +19,17 @@ module SourceRoute
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def trace
|
22
|
-
|
22
|
+
trace_filter = TraceFilter.new(config)
|
23
23
|
track = TracePoint.new(*config.event) do |tp|
|
24
|
-
next if
|
24
|
+
next if trace_filter.block_it?(tp)
|
25
25
|
@result_builder.output(tp)
|
26
26
|
end
|
27
27
|
track.enable
|
28
28
|
self.tp = track
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
32
|
-
result_builder.
|
31
|
+
def trace_chain
|
32
|
+
result_builder.trace_chain
|
33
33
|
end
|
34
34
|
end # END Proxy
|
35
35
|
|
@@ -3,18 +3,17 @@ module Rack
|
|
3
3
|
|
4
4
|
def initialize(app, opts={})
|
5
5
|
@opts = opts
|
6
|
-
if @opts.present?
|
7
|
-
::SourceRoute.enable do
|
8
|
-
# defined_class 'Cors'
|
9
|
-
# method_id opts[:method_id] # will crashed
|
10
|
-
method_id 'resource_for_path'
|
11
|
-
full_feature
|
12
|
-
end
|
13
|
-
end
|
14
6
|
@app = app
|
15
7
|
end
|
16
8
|
|
17
9
|
def call(env)
|
10
|
+
::SourceRoute.enable do
|
11
|
+
# defined_class 'Cors'
|
12
|
+
# method_id opts[:method_id] # will crashed
|
13
|
+
method_id 'render'
|
14
|
+
full_feature
|
15
|
+
end
|
16
|
+
|
18
17
|
@app.call(env)
|
19
18
|
end
|
20
19
|
|
@@ -123,6 +123,8 @@ module SourceRoute
|
|
123
123
|
def get_local_or_params_var
|
124
124
|
local_var_hash = {}
|
125
125
|
# Warn: @tp_ins.binding.eval('local_variables') =! @tp_ins.binding.send('local_variables')
|
126
|
+
# Params var is complex, see https://alexcastano.com/everything-about-ruby-splats/ for more details
|
127
|
+
# so actually here just get local variables which includes params
|
126
128
|
@tp_ins.binding.eval('local_variables').each do |v|
|
127
129
|
# I need comment out why i need source_route_display
|
128
130
|
# must be some strange variables require it
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module SourceRoute
|
2
2
|
|
3
|
-
class
|
3
|
+
class TraceFilter
|
4
4
|
attr_accessor :cond
|
5
5
|
def initialize(condition)
|
6
6
|
@cond = condition
|
@@ -8,9 +8,18 @@ module SourceRoute
|
|
8
8
|
|
9
9
|
# to improve performance, we didnt assign tp as instance variable
|
10
10
|
def block_it?(tp)
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
if @cond.track_params
|
12
|
+
return true if negative_check(tp)
|
13
|
+
if positives_check(tp)
|
14
|
+
return !tp.binding.eval('local_variables').any? do |v|
|
15
|
+
tp.binding.local_variable_get(v).object_id == @cond.track_params
|
16
|
+
end
|
17
|
+
end
|
18
|
+
else
|
19
|
+
return true if negative_check(tp)
|
20
|
+
return false if positives_check(tp)
|
21
|
+
end
|
22
|
+
true # default is blocked the tp
|
14
23
|
end
|
15
24
|
|
16
25
|
def negative_check(tp)
|
data/lib/source_route/version.rb
CHANGED
data/source_route.gemspec
CHANGED
@@ -25,7 +25,6 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "bundler"
|
26
26
|
spec.add_development_dependency "rake"
|
27
27
|
spec.add_development_dependency 'minitest'
|
28
|
-
spec.add_development_dependency 'pry'
|
29
28
|
spec.add_development_dependency 'pry-byebug'
|
30
29
|
spec.add_development_dependency 'guard'
|
31
30
|
spec.add_development_dependency 'guard-shell'
|
data/test/sample_app.rb
CHANGED
@@ -48,6 +48,14 @@ class SampleApp
|
|
48
48
|
cool_in_foo = 'foo data'
|
49
49
|
@cool_ins_after = 'will shown in result?'
|
50
50
|
end
|
51
|
+
|
52
|
+
def reverse_hash(h)
|
53
|
+
ret = {}
|
54
|
+
h.each do |k, v|
|
55
|
+
ret[v] = k
|
56
|
+
end
|
57
|
+
ret
|
58
|
+
end
|
51
59
|
end
|
52
60
|
|
53
61
|
class RetObj
|
@@ -59,4 +67,5 @@ class SampleApp
|
|
59
67
|
{temp: 'testing'}
|
60
68
|
end
|
61
69
|
end
|
70
|
+
|
62
71
|
end
|
@@ -3,11 +3,11 @@ require 'test_helper'
|
|
3
3
|
module SourceRoute
|
4
4
|
class ConfigTest < Minitest::Test
|
5
5
|
|
6
|
-
def
|
7
|
-
assert
|
8
|
-
assert
|
9
|
-
assert
|
10
|
-
assert
|
6
|
+
def test_trace_filter_methods
|
7
|
+
assert TRACE_FILTER_METHODS.include?(:defined_class_not)
|
8
|
+
assert TRACE_FILTER_METHODS.include?(:method_id_not)
|
9
|
+
assert TRACE_FILTER_METHODS.include?(:path)
|
10
|
+
assert TRACE_FILTER_METHODS.frozen?
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_block_parser
|
@@ -56,11 +56,13 @@ module SourceRoute
|
|
56
56
|
def test_full_feature_of_params_parser
|
57
57
|
params = {output_format: 'html', event: :c_call,
|
58
58
|
defined_class: 'ActiveRecord::Base',
|
59
|
-
method_id_not: ['initialize', 'nonsense']
|
59
|
+
method_id_not: ['initialize', 'nonsense'],
|
60
|
+
full_feature: true
|
60
61
|
}
|
61
62
|
config = ParamsConfigParser.run(params)
|
62
63
|
assert_equal :html, config.output_format
|
63
|
-
assert_equal [:c_call], config.event
|
64
|
+
assert_equal [:c_call, :call, :return], config.event
|
65
|
+
assert config.full_feature
|
64
66
|
assert_equal 'ActiveRecord::Base', config.positives[:defined_class]
|
65
67
|
assert_equal 'initialize|nonsense', config.negatives[:method_id]
|
66
68
|
end
|
@@ -7,7 +7,7 @@ module SourceRoute
|
|
7
7
|
|
8
8
|
FakeTp = Struct.new(:method_id, :defined_class, :lineno)
|
9
9
|
|
10
|
-
class
|
10
|
+
class TraceFilterTest < Minitest::Test
|
11
11
|
|
12
12
|
def setup
|
13
13
|
@devise_tp = FakeTp.new(:auth, Devise, 5)
|
@@ -20,24 +20,24 @@ module SourceRoute
|
|
20
20
|
def test_filter_method_not_auth
|
21
21
|
cond = Config.new
|
22
22
|
cond.negatives[:method_id] = 'auth'
|
23
|
-
@
|
24
|
-
filtered = @tps.reject { |tp| @
|
23
|
+
@trace_filter = TraceFilter.new(cond)
|
24
|
+
filtered = @tps.reject { |tp| @trace_filter.block_it?(tp) }
|
25
25
|
assert_equal [@user_tp], filtered
|
26
26
|
end
|
27
27
|
|
28
28
|
def test_filter_class_is_admin
|
29
29
|
cond = Config.new
|
30
30
|
cond.positives[:defined_class] = 'Admin'
|
31
|
-
@
|
32
|
-
filtered = @tps.reject { |tp| @
|
31
|
+
@trace_filter = TraceFilter.new(cond)
|
32
|
+
filtered = @tps.reject { |tp| @trace_filter.block_it?(tp) }
|
33
33
|
assert_equal [], filtered
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_filter_method_is_auth
|
37
37
|
cond = Config.new
|
38
38
|
cond.positives[:method_id] = 'auth'
|
39
|
-
@
|
40
|
-
filtered = @tps.reject { |tp| @
|
39
|
+
@trace_filter = TraceFilter.new(cond)
|
40
|
+
filtered = @tps.reject { |tp| @trace_filter.block_it?(tp) }
|
41
41
|
assert_equal [@devise_tp, @warden_tp], filtered
|
42
42
|
end
|
43
43
|
|
@@ -45,16 +45,16 @@ module SourceRoute
|
|
45
45
|
cond = Config.new
|
46
46
|
cond.positives[:defined_class] = 'Devise'
|
47
47
|
cond.positives[:method_id] = 'new'
|
48
|
-
@
|
49
|
-
filtered = @tps.reject { |tp| @
|
48
|
+
@trace_filter = TraceFilter.new(cond)
|
49
|
+
filtered = @tps.reject { |tp| @trace_filter.block_it?(tp) }
|
50
50
|
assert_equal [@devise_tp, @user_tp], filtered
|
51
51
|
end
|
52
52
|
|
53
53
|
def test_filter_class_is_devise_or_warden
|
54
54
|
cond = Config.new
|
55
55
|
cond.positives[:defined_class] = 'Warden|User'
|
56
|
-
@
|
57
|
-
filtered = @tps.reject { |tp| @
|
56
|
+
@trace_filter = TraceFilter.new(cond)
|
57
|
+
filtered = @tps.reject { |tp| @trace_filter.block_it?(tp) }
|
58
58
|
assert_equal [@warden_tp, @user_tp], filtered
|
59
59
|
end
|
60
60
|
end
|
data/test/source_route_test.rb
CHANGED
@@ -36,14 +36,14 @@ class SourceRouteTest < Minitest::Test
|
|
36
36
|
end
|
37
37
|
SampleApp.new.nonsense
|
38
38
|
|
39
|
-
assert_includes @proxy.
|
39
|
+
assert_includes @proxy.trace_chain.first.path, 'test'
|
40
40
|
end
|
41
41
|
|
42
42
|
def test_match_class_name_by_first_parameter
|
43
43
|
@source_route = SourceRoute.enable 'SampleApp'
|
44
44
|
SampleApp.new.nonsense
|
45
45
|
|
46
|
-
assert @proxy.
|
46
|
+
assert @proxy.trace_chain.size > 0
|
47
47
|
end
|
48
48
|
|
49
49
|
def test_not_match
|
@@ -52,7 +52,7 @@ class SourceRouteTest < Minitest::Test
|
|
52
52
|
method_id_not 'nonsense'
|
53
53
|
end
|
54
54
|
SampleApp.new.nonsense
|
55
|
-
refute_includes @proxy.
|
55
|
+
refute_includes @proxy.trace_chain.map(&:method_id).flatten, 'nonsense'
|
56
56
|
end
|
57
57
|
|
58
58
|
def test_match_multiple_class_name
|
@@ -61,8 +61,8 @@ class SourceRouteTest < Minitest::Test
|
|
61
61
|
end
|
62
62
|
|
63
63
|
SampleApp.new.nonsense
|
64
|
-
assert @proxy.
|
65
|
-
assert_equal SampleApp, @proxy.
|
64
|
+
assert @proxy.trace_chain.size > 0
|
65
|
+
assert_equal SampleApp, @proxy.trace_chain.last.defined_class
|
66
66
|
end
|
67
67
|
|
68
68
|
def test_source_route_with_one_parameter
|
@@ -71,19 +71,19 @@ class SourceRouteTest < Minitest::Test
|
|
71
71
|
end
|
72
72
|
SampleApp.new.nonsense
|
73
73
|
|
74
|
-
ret_tp = @proxy.
|
74
|
+
ret_tp = @proxy.trace_chain.last
|
75
75
|
assert_equal SampleApp, ret_tp.defined_class
|
76
76
|
end
|
77
77
|
|
78
78
|
def test_proxy_reset
|
79
79
|
SourceRoute.enable 'nonsense'
|
80
80
|
SampleApp.new.nonsense
|
81
|
-
assert_equal 1, @proxy.
|
81
|
+
assert_equal 1, @proxy.trace_chain.size
|
82
82
|
|
83
83
|
SourceRoute.reset
|
84
84
|
SampleApp.new.nonsense
|
85
85
|
|
86
|
-
assert_equal 0, @proxy.
|
86
|
+
assert_equal 0, @proxy.trace_chain.size
|
87
87
|
end
|
88
88
|
|
89
89
|
def test_source_route_with_block
|
@@ -96,7 +96,7 @@ class SourceRouteTest < Minitest::Test
|
|
96
96
|
end
|
97
97
|
SampleApp.new.nonsense
|
98
98
|
|
99
|
-
assert_equal 0, @proxy.
|
99
|
+
assert_equal 0, @proxy.trace_chain.size
|
100
100
|
assert_equal 1, paths.size
|
101
101
|
assert_includes paths.first, 'sample_app'
|
102
102
|
end
|
@@ -104,14 +104,14 @@ class SourceRouteTest < Minitest::Test
|
|
104
104
|
def test_trace_with_c_call
|
105
105
|
SourceRoute.trace(event: :c_call) { 'abc'.upcase }
|
106
106
|
|
107
|
-
assert_equal 2, @proxy.
|
107
|
+
assert_equal 2, @proxy.trace_chain.size
|
108
108
|
end
|
109
109
|
|
110
110
|
def test_trace_with_full_feature
|
111
111
|
SourceRoute.trace method_id: 'nonsense', full_feature: 10 do
|
112
112
|
SampleApp.new.nonsense
|
113
113
|
end
|
114
|
-
first_result = @proxy.
|
114
|
+
first_result = @proxy.trace_chain.first
|
115
115
|
assert_equal first_result.tp_self_refer, 0
|
116
116
|
end
|
117
117
|
|
@@ -123,20 +123,20 @@ class SourceRouteTest < Minitest::Test
|
|
123
123
|
# assert @proxy.tp_self_caches.first.is_a? SampleApp
|
124
124
|
# end
|
125
125
|
|
126
|
-
def
|
126
|
+
def test_stringify_trace_chain_only
|
127
127
|
SourceRoute.trace method_id: 'nonsense', full_feature: true do
|
128
128
|
SampleApp.new.nonsense
|
129
129
|
end
|
130
|
-
|
131
|
-
assert @proxy.
|
132
|
-
assert_equal
|
130
|
+
origin_trace_chain = @proxy.trace_chain
|
131
|
+
assert @proxy.trace_chain.first.stringify.defined_class.is_a? String
|
132
|
+
assert_equal origin_trace_chain, @proxy.trace_chain
|
133
133
|
end
|
134
134
|
|
135
135
|
def test_trace_without_first_hash_option
|
136
136
|
SourceRoute.trace output_format: :test do
|
137
137
|
SampleApp.new.nonsense
|
138
138
|
end
|
139
|
-
assert @proxy.
|
139
|
+
assert @proxy.trace_chain.size > 0
|
140
140
|
refute @proxy.tp.enabled?
|
141
141
|
end
|
142
142
|
|
@@ -145,7 +145,7 @@ class SourceRouteTest < Minitest::Test
|
|
145
145
|
event :call, :return
|
146
146
|
end
|
147
147
|
SampleApp.new.nonsense
|
148
|
-
assert_equal 2, @proxy.
|
148
|
+
assert_equal 2, @proxy.trace_chain.size
|
149
149
|
end
|
150
150
|
|
151
151
|
# but local var didnt displayed
|
@@ -157,7 +157,7 @@ class SourceRouteTest < Minitest::Test
|
|
157
157
|
|
158
158
|
SampleApp.new.nonsense_with_params(88)
|
159
159
|
|
160
|
-
ret_value = @proxy.
|
160
|
+
ret_value = @proxy.trace_chain.last
|
161
161
|
end
|
162
162
|
|
163
163
|
def test_track_local_var_when_event_is_return
|
@@ -167,9 +167,9 @@ class SourceRouteTest < Minitest::Test
|
|
167
167
|
end
|
168
168
|
|
169
169
|
SampleApp.new.nonsense_with_params(88)
|
170
|
-
assert_equal 1, @proxy.
|
170
|
+
assert_equal 1, @proxy.trace_chain.size
|
171
171
|
|
172
|
-
ret_value_for_return_event = @proxy.
|
172
|
+
ret_value_for_return_event = @proxy.trace_chain.last
|
173
173
|
assert_equal 88, ret_value_for_return_event.local_var[:param1]
|
174
174
|
assert_equal 5, ret_value_for_return_event.local_var[:param2]
|
175
175
|
end
|
@@ -181,8 +181,8 @@ class SourceRouteTest < Minitest::Test
|
|
181
181
|
end
|
182
182
|
SampleApp.new('ins sure').nonsense_with_instance_var
|
183
183
|
|
184
|
-
assert_equal 4, @proxy.
|
185
|
-
ret_value = @proxy.
|
184
|
+
assert_equal 4, @proxy.trace_chain.size
|
185
|
+
ret_value = @proxy.trace_chain.pop
|
186
186
|
|
187
187
|
assert_equal 'ins sure', ret_value.instance_var[:@sample]
|
188
188
|
end
|
@@ -192,8 +192,20 @@ class SourceRouteTest < Minitest::Test
|
|
192
192
|
full_feature 10
|
193
193
|
end
|
194
194
|
SampleApp.new('cool stuff').init_cool_app
|
195
|
-
@proxy.
|
196
|
-
assert @proxy.
|
195
|
+
@proxy.trace_chain.import_return_value_to_call_chain
|
196
|
+
assert @proxy.trace_chain.call_chain[0].return_value, 'call results should contain return_value'
|
197
|
+
end
|
198
|
+
|
199
|
+
def test_trace_when_value_was_passed_to_method
|
200
|
+
hash = {x: 1, y: 2}
|
201
|
+
SourceRoute.enable do
|
202
|
+
track_params hash
|
203
|
+
end
|
204
|
+
SampleApp.new
|
205
|
+
ca = SampleApp::CoolApp.new
|
206
|
+
ca.reverse_hash(hash)
|
207
|
+
SourceRoute.output_html
|
208
|
+
assert_equal 1, @proxy.trace_chain.size
|
197
209
|
end
|
198
210
|
|
199
211
|
def test_order_call_sequence
|
@@ -202,8 +214,8 @@ class SourceRouteTest < Minitest::Test
|
|
202
214
|
end
|
203
215
|
SampleApp.new.nonsense_with_instance_var
|
204
216
|
|
205
|
-
@proxy.
|
206
|
-
call_results = @proxy.result_builder.
|
217
|
+
@proxy.trace_chain.treeize_call_chain
|
218
|
+
call_results = @proxy.result_builder.trace_chain.call_chain
|
207
219
|
|
208
220
|
nonsense_call_tp = call_results.find { |tp| tp.method_id == :nonsense }
|
209
221
|
nonsense_with_instance_var_call_tp = call_results.find do |tp|
|
@@ -211,7 +223,7 @@ class SourceRouteTest < Minitest::Test
|
|
211
223
|
end
|
212
224
|
assert_equal [nonsense_with_instance_var_call_tp.order_id], nonsense_call_tp.parent_ids
|
213
225
|
assert_equal 1, nonsense_call_tp.parent_length
|
214
|
-
assert_equal [0, 1], @proxy.result_builder.
|
226
|
+
assert_equal [0, 1], @proxy.result_builder.trace_chain.parent_length_list
|
215
227
|
assert_equal [nonsense_call_tp.order_id], nonsense_with_instance_var_call_tp.direct_child_order_ids
|
216
228
|
end
|
217
229
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: source_route
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- raykin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: pry
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: pry-byebug
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -187,22 +173,21 @@ files:
|
|
187
173
|
- lib/source_route/core_ext.rb
|
188
174
|
- lib/source_route/formats/html.rb
|
189
175
|
- lib/source_route/formats/html_semantic.slim
|
190
|
-
- lib/source_route/formats/
|
176
|
+
- lib/source_route/formats/html_semantic_vue.slim
|
191
177
|
- lib/source_route/generate_result.rb
|
192
178
|
- lib/source_route/json_overrides/activerecord_associations_association.rb
|
193
|
-
- lib/source_route/jsonify.rb
|
194
179
|
- lib/source_route/proxy.rb
|
195
180
|
- lib/source_route/rails_plugins/source_track_middleware.rb
|
196
|
-
- lib/source_route/tp_filter.rb
|
197
181
|
- lib/source_route/tp_result.rb
|
198
|
-
- lib/source_route/
|
182
|
+
- lib/source_route/trace_chain.rb
|
183
|
+
- lib/source_route/trace_filter.rb
|
199
184
|
- lib/source_route/version.rb
|
200
185
|
- source_route.gemspec
|
201
186
|
- test/fake_app.rb
|
202
187
|
- test/sample_app.rb
|
203
188
|
- test/source_route/config_test.rb
|
204
189
|
- test/source_route/proxy_test.rb
|
205
|
-
- test/source_route/
|
190
|
+
- test/source_route/trace_filter_test.rb
|
206
191
|
- test/source_route_test.rb
|
207
192
|
- test/test_helper.rb
|
208
193
|
homepage: http://github.com/raykin/source-route
|
@@ -225,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
225
210
|
version: '0'
|
226
211
|
requirements: []
|
227
212
|
rubyforge_project:
|
228
|
-
rubygems_version: 2.
|
213
|
+
rubygems_version: 2.6.8
|
229
214
|
signing_key:
|
230
215
|
specification_version: 4
|
231
216
|
summary: Wrapper of TracePoint.
|
@@ -234,7 +219,6 @@ test_files:
|
|
234
219
|
- test/sample_app.rb
|
235
220
|
- test/source_route/config_test.rb
|
236
221
|
- test/source_route/proxy_test.rb
|
237
|
-
- test/source_route/
|
222
|
+
- test/source_route/trace_filter_test.rb
|
238
223
|
- test/source_route_test.rb
|
239
224
|
- test/test_helper.rb
|
240
|
-
has_rdoc:
|