source_route 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -0
- data/examples/callback_in_activesupport.rb +34 -0
- data/lib/source_route.rb +3 -1
- data/lib/source_route/formats/html.rb +2 -1
- data/lib/source_route/formats/html_template.slim +29 -10
- data/lib/source_route/{tp_result.rb → generate_result.rb} +4 -3
- data/lib/source_route/tp_result_chain.rb +61 -0
- data/lib/source_route/version.rb +1 -1
- data/lib/source_route/wrapper.rb +10 -21
- data/test/source_route_test.rb +35 -19
- data/test/tp_filter_test.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a497dac48db0ce73092b5fd0b1bff7a3d43b017
|
4
|
+
data.tar.gz: 5008e83d2a398c35c5fc0a6dc379a19d2641ed53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b751bcd35cd72c63133c4367e57d15ae26929084c70c372afe07ca2ec8e35db78f4ad5e94aa8504cb17b50d0d8d20d10fe5e741b77ee2e5a53f8fbd8209908ed
|
7
|
+
data.tar.gz: bbd3f567b24261dee0a075fb1a2e180eae2cd49761a10fca7eefdf474a5911b07a29c7088bbaae68b4926e57d7b21719e03b8ee3d17ab14d69dffcafe56e9fe9
|
data/README.md
CHANGED
@@ -77,4 +77,11 @@ see more usage in examples.
|
|
77
77
|
|
78
78
|
### TODO
|
79
79
|
|
80
|
+
Hide defined class filter. Add vertical timeline.
|
81
|
+
|
82
|
+
Add TpResults and GenerateResult(moved from TpResult) class.
|
83
|
+
( http://tympanus.net/codrops/2013/05/02/vertical-timeline/
|
84
|
+
http://stackoverflow.com/questions/20896240/responsive-timeline-ui-with-bootstrap3)
|
85
|
+
|
86
|
+
|
80
87
|
Add debug option to provider more verbose messages of what has happened
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'active_support/callbacks'
|
2
|
+
|
3
|
+
require 'source_route'
|
4
|
+
|
5
|
+
SourceRoute.enable do
|
6
|
+
event :call, :return
|
7
|
+
defined_class 'ActiveSupport::Callbacks', 'PersonRecord'
|
8
|
+
method_id :base_save, :saving_message, :callback
|
9
|
+
result_config.import_return_to_call = true
|
10
|
+
end
|
11
|
+
|
12
|
+
class Record
|
13
|
+
include ActiveSupport::Callbacks
|
14
|
+
define_callbacks :save
|
15
|
+
|
16
|
+
def base_save
|
17
|
+
run_callbacks :save do
|
18
|
+
puts "- save"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class PersonRecord < Record
|
24
|
+
set_callback :save, :before, :saving_message
|
25
|
+
|
26
|
+
def saving_message
|
27
|
+
puts "saving..."
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
person = PersonRecord.new
|
32
|
+
person.base_save
|
33
|
+
|
34
|
+
SourceRoute.build_html_output
|
data/lib/source_route.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
require 'ostruct'
|
2
2
|
require 'logger'
|
3
3
|
require 'singleton'
|
4
|
+
require 'forwardable'
|
4
5
|
|
5
6
|
require 'awesome_print'
|
6
7
|
|
7
8
|
require "source_route/version"
|
8
9
|
require "source_route/wrapper"
|
9
|
-
require "source_route/
|
10
|
+
require "source_route/generate_result"
|
11
|
+
require "source_route/tp_result_chain"
|
10
12
|
require "source_route/tp_filter"
|
11
13
|
|
12
14
|
module SourceRoute
|
@@ -13,7 +13,8 @@ module SourceRoute
|
|
13
13
|
filename = result_config[:filename] || "#{Time.now.strftime('%H%M')}-source-route.html"
|
14
14
|
|
15
15
|
if result_config.import_return_to_call and wrapper.condition.has_call_and_return_event
|
16
|
-
wrapper.
|
16
|
+
wrapper.import_return_value_to_call_chain
|
17
|
+
wrapper.order_call_chain
|
17
18
|
end
|
18
19
|
html_output_str = slim_template.render(wrapper)
|
19
20
|
File.open(filename, 'w') do |f|
|
@@ -6,9 +6,15 @@ html
|
|
6
6
|
script src="http://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"
|
7
7
|
script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"
|
8
8
|
|
9
|
+
css:
|
10
|
+
.call-level-1 {}
|
11
|
+
.call-level-2 { margin-left: 50px }
|
12
|
+
.call-level-3 { margin-left: 100px }
|
13
|
+
.call-level-4 { margin-left: 150px }
|
9
14
|
body(ng-app="SourceRoute" ng-controller="MainCtrl")
|
15
|
+
|
10
16
|
ruby:
|
11
|
-
local_trace_data = @
|
17
|
+
local_trace_data = @tp_result_chain.map do |tp_result|
|
12
18
|
if tp_result.key?(:defined_class)
|
13
19
|
tp_result[:defined_class] = tp_result[:defined_class].inspect
|
14
20
|
tp_result[:return_value] = tp_result[:return_value].inspect if tp_result.key?(:return_value)
|
@@ -25,10 +31,10 @@ html
|
|
25
31
|
.container
|
26
32
|
.container-fluid
|
27
33
|
.navbar-header
|
28
|
-
a.navbar-brand(href="#" ng-click="resetTraceFilter()") ALL
|
34
|
+
a.navbar-brand(href="#" ng-click="::resetTraceFilter()") ALL
|
29
35
|
ul.nav.navbar-nav
|
30
36
|
li(ng-repeat="event in tpEvents" ng-class="{active: event == traceFilter.event}")
|
31
|
-
a(href="#" ng-click="traceFilter.event = event" ng-bind="event")
|
37
|
+
a(href="#" ng-click="traceFilter.event = event" ng-bind="::event")
|
32
38
|
ul.nav.navbar-nav.navbar-right
|
33
39
|
li
|
34
40
|
a(disabled)
|
@@ -42,17 +48,17 @@ html
|
|
42
48
|
.row
|
43
49
|
.left-info.col-sm-4
|
44
50
|
.btn-group-vertical
|
45
|
-
button.btn.btn-default(ng-repeat="klass in definedClasses"
|
51
|
+
button.btn.btn-default(ng-repeat="klass in ::definedClasses"
|
46
52
|
ng-click="traceFilter.defined_class = klass" style="height: 60px")
|
47
53
|
span(ng-bind="klass")
|
48
|
-
.traces.center-info.col-sm-
|
49
|
-
.trace.well.well-lg(ng-repeat="trace in traces | filter:traceFilter:true"
|
50
|
-
|
54
|
+
.traces.center-info.col-sm-8(ng-class="{{traceFilter.event}}")
|
55
|
+
.trace.well.well-lg.call-level.call-level(ng-repeat="trace in traces | filter:traceFilter:true"
|
56
|
+
ng-class="callLevelClass(trace)")
|
51
57
|
.header(ng-click="showMoreDetail = !showMoreDetail")
|
52
58
|
span(ng-bind="trace.defined_class")
|
53
59
|
span
|
54
60
|
| .
|
55
|
-
|
61
|
+
mark.method-value(ng-bind="trace.method_id")
|
56
62
|
/ workaround for return_value is 'false' and return_value always to be string when existed
|
57
63
|
div(ng-if="isIncludeReturnValue")
|
58
64
|
span
|
@@ -66,7 +72,7 @@ html
|
|
66
72
|
span<>(ng-bind="key")
|
67
73
|
span<>
|
68
74
|
| =>
|
69
|
-
/
|
75
|
+
/ ? could inspect repaire it ?
|
70
76
|
span<>(ng-bind="value || 'null'")
|
71
77
|
.ins-vars.well.well-sm(ng-if="trace.instance_var" style="color: blue")
|
72
78
|
span Instance Var
|
@@ -75,10 +81,15 @@ html
|
|
75
81
|
span<>
|
76
82
|
| =>
|
77
83
|
span<>(ng-bind="value || 'null'")
|
84
|
+
.path-value.well.well-sm(ng-if="trace.path")
|
85
|
+
span Path
|
86
|
+
div
|
87
|
+
span<>(ng-bind="trace.path")
|
88
|
+
span<>(ng-bind="trace.lineno")
|
78
89
|
|
79
90
|
.right-info.col-sm-2
|
80
91
|
|
81
|
-
script src="
|
92
|
+
script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"
|
82
93
|
|
83
94
|
javascript:
|
84
95
|
sourceRoute = angular.module('SourceRoute', [])
|
@@ -97,6 +108,14 @@ html
|
|
97
108
|
|
98
109
|
$scope.definedClasses = _.uniq(_.map($scope.traces, 'defined_class'))
|
99
110
|
|
111
|
+
$scope.callLevelClass = function(trace) {
|
112
|
+
if (trace.parent_length > 4) {
|
113
|
+
return 'call-level-4'
|
114
|
+
} else {
|
115
|
+
return 'call-level-' + trace.parent_length
|
116
|
+
}
|
117
|
+
}
|
118
|
+
|
100
119
|
$scope.resetTraceFilter = function() {
|
101
120
|
$scope.traceFilter = {}
|
102
121
|
}
|
@@ -1,9 +1,10 @@
|
|
1
1
|
module SourceRoute
|
2
2
|
|
3
|
-
class
|
3
|
+
class GenerateResult
|
4
4
|
|
5
5
|
Config = Struct.new(:format, :show_additional_attrs,
|
6
|
-
:include_local_var, :include_instance_var,
|
6
|
+
:include_local_var, :include_instance_var,
|
7
|
+
:filename, :import_return_to_call) do
|
7
8
|
def initialize(f="silence", s=[], ilr=false, iiv=false)
|
8
9
|
super(f, s, ilr, iiv)
|
9
10
|
end
|
@@ -121,6 +122,6 @@ module SourceRoute
|
|
121
122
|
ap "#{@collect_data[:defined_class].inspect}##{@collect_data[:method_id]}"
|
122
123
|
end
|
123
124
|
|
124
|
-
end # END
|
125
|
+
end # END GenerateResult
|
125
126
|
|
126
127
|
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module SourceRoute
|
2
|
+
|
3
|
+
class TpResultChain
|
4
|
+
extend Forwardable
|
5
|
+
def_delegators :@chain, :each, :index, :first, :last, :size, :push, :values_at, :pop
|
6
|
+
|
7
|
+
include Enumerable
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@chain = []
|
11
|
+
end
|
12
|
+
|
13
|
+
def call_chain
|
14
|
+
select { |tpr| tpr[:event] == :call }
|
15
|
+
end
|
16
|
+
|
17
|
+
def return_chain
|
18
|
+
select { |tpr| tpr[:event] == :return }
|
19
|
+
end
|
20
|
+
|
21
|
+
def import_return_value_to_call_chain
|
22
|
+
call_chain.each do |ctp|
|
23
|
+
ctp[:return_value] = return_chain.detect do |rtp|
|
24
|
+
rtp[:defined_class] == ctp[:defined_class] and rtp[:method_id] == ctp[:method_id]
|
25
|
+
end[:return_value]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def order_call_chain
|
30
|
+
init_order_id_and_parent_ids
|
31
|
+
call_chain.each do |tpr|
|
32
|
+
return_tpr = return_chain.find do |rtpr|
|
33
|
+
rtpr[:defined_class] == tpr[:defined_class] and rtpr[:method_id] == tpr[:method_id]
|
34
|
+
end
|
35
|
+
|
36
|
+
start_index, end_index = tpr[:order_id], return_tpr[:order_id]
|
37
|
+
unless end_index == start_index + 1
|
38
|
+
values_at(start_index+1 ... end_index).select { |tpr| tpr[:event] == :call }.each do |tpr|
|
39
|
+
tpr[:parent_ids].push start_index
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
cal_parent_length
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
def init_order_id_and_parent_ids
|
49
|
+
each_with_index do |tpr, index|
|
50
|
+
tpr[:order_id], tpr[:parent_ids] = index, [-1]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def cal_parent_length
|
55
|
+
each do |tpr|
|
56
|
+
tpr[:parent_length] = tpr[:parent_ids].length
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end # END TpResultChain
|
61
|
+
end
|
data/lib/source_route/version.rb
CHANGED
data/lib/source_route/wrapper.rb
CHANGED
@@ -5,10 +5,14 @@ module SourceRoute
|
|
5
5
|
|
6
6
|
TRACE_POINT_METHODS = [:defined_class, :method_id, :path, :lineno]
|
7
7
|
|
8
|
-
attr_accessor :condition, :tp
|
8
|
+
attr_accessor :condition, :tp
|
9
|
+
attr_reader :tp_result_chain
|
10
|
+
|
11
|
+
extend Forwardable
|
12
|
+
def_delegators :@tp_result_chain, :import_return_value_to_call_chain, :order_call_chain, :call_chain, :return_chain
|
9
13
|
|
10
14
|
Condition = Struct.new(:events, :negatives, :positive, :result_config) do
|
11
|
-
def initialize(e=[:call], n={}, p={}, r=
|
15
|
+
def initialize(e=[:call], n={}, p={}, r=GenerateResult::Config.new)
|
12
16
|
super(e, n, p, r)
|
13
17
|
end
|
14
18
|
end
|
@@ -46,13 +50,13 @@ module SourceRoute
|
|
46
50
|
def reset
|
47
51
|
@tp.disable if @tp
|
48
52
|
@condition = Condition.new
|
49
|
-
@
|
53
|
+
@tp_result_chain = TpResultChain.new
|
50
54
|
self
|
51
55
|
end
|
52
56
|
|
53
57
|
def trace
|
54
58
|
# dont wanna init it in tp block, cause tp block could run thousands of times in one cycle trace
|
55
|
-
tp_result =
|
59
|
+
tp_result = GenerateResult.new(self)
|
56
60
|
tp_filter = TpFilter.new(condition)
|
57
61
|
|
58
62
|
track = TracePoint.new *condition.events do |tp|
|
@@ -61,7 +65,7 @@ module SourceRoute
|
|
61
65
|
|
62
66
|
unless condition.result_config.format.is_a? Proc
|
63
67
|
ret_data = tp_result.build(tp)
|
64
|
-
|
68
|
+
@tp_result_chain.push(ret_data)
|
65
69
|
end
|
66
70
|
|
67
71
|
tp_result.output(tp)
|
@@ -71,21 +75,6 @@ module SourceRoute
|
|
71
75
|
track
|
72
76
|
end
|
73
77
|
|
74
|
-
|
75
|
-
call_tp_results.each do |ctp|
|
76
|
-
ctp[:return_value] = return_tp_results.detect do |rtp|
|
77
|
-
rtp[:defined_class] == ctp[:defined_class] and rtp[:method_id] == ctp[:method_id]
|
78
|
-
end[:return_value]
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def call_tp_results
|
83
|
-
tp_attrs_results.select { |tpr| tpr[:event] == :call }
|
84
|
-
end
|
85
|
-
|
86
|
-
def return_tp_results
|
87
|
-
tp_attrs_results.select { |tpr| tpr[:event] == :return }
|
88
|
-
end
|
89
|
-
end # Wrapper
|
78
|
+
end # END Wrapper
|
90
79
|
|
91
80
|
end
|
data/test/source_route_test.rb
CHANGED
@@ -35,14 +35,14 @@ class SourceRouteTest < Minitest::Test
|
|
35
35
|
end
|
36
36
|
SampleApp.new.nonsense
|
37
37
|
|
38
|
-
assert_includes @wrapper.
|
38
|
+
assert_includes @wrapper.tp_result_chain.first[:path], 'test'
|
39
39
|
end
|
40
40
|
|
41
41
|
def test_match_class_name_by_first_parameter
|
42
42
|
@source_route = SourceRoute.enable 'SampleApp'
|
43
43
|
SampleApp.new.nonsense
|
44
44
|
|
45
|
-
assert @wrapper.
|
45
|
+
assert @wrapper.tp_result_chain.size > 0
|
46
46
|
end
|
47
47
|
|
48
48
|
def test_match_class_name
|
@@ -51,26 +51,26 @@ class SourceRouteTest < Minitest::Test
|
|
51
51
|
end
|
52
52
|
|
53
53
|
SampleApp.new.nonsense
|
54
|
-
assert @wrapper.
|
54
|
+
assert @wrapper.tp_result_chain.size > 0
|
55
55
|
end
|
56
56
|
|
57
57
|
def test_source_route_with_one_parameter
|
58
58
|
@source_route = SourceRoute.enable 'nonsense'
|
59
59
|
SampleApp.new.nonsense
|
60
60
|
|
61
|
-
ret_value = @wrapper.
|
61
|
+
ret_value = @wrapper.tp_result_chain.last
|
62
62
|
assert_equal SampleApp, ret_value[:defined_class]
|
63
63
|
end
|
64
64
|
|
65
65
|
def test_wrapper_reset
|
66
66
|
SourceRoute.enable 'nonsense'
|
67
67
|
SampleApp.new.nonsense
|
68
|
-
assert_equal 1, @wrapper.
|
68
|
+
assert_equal 1, @wrapper.tp_result_chain.size
|
69
69
|
|
70
70
|
SourceRoute.reset
|
71
71
|
SampleApp.new.nonsense
|
72
72
|
|
73
|
-
assert_equal 0, @wrapper.
|
73
|
+
assert_equal 0, @wrapper.tp_result_chain.size
|
74
74
|
end
|
75
75
|
|
76
76
|
def test_source_route_with_block_only
|
@@ -83,7 +83,7 @@ class SourceRouteTest < Minitest::Test
|
|
83
83
|
end
|
84
84
|
SampleApp.new.nonsense
|
85
85
|
|
86
|
-
assert_equal 0, @wrapper.
|
86
|
+
assert_equal 0, @wrapper.tp_result_chain.size
|
87
87
|
assert_equal 1, paths.size
|
88
88
|
assert_includes paths.first, 'sample_app'
|
89
89
|
end
|
@@ -93,14 +93,14 @@ class SourceRouteTest < Minitest::Test
|
|
93
93
|
'abc'.upcase
|
94
94
|
end
|
95
95
|
|
96
|
-
assert_equal 2, @wrapper.
|
96
|
+
assert_equal 2, @wrapper.tp_result_chain.size
|
97
97
|
end
|
98
98
|
|
99
99
|
def test_trace_without_first_hash_option
|
100
100
|
SourceRoute.trace output_format: :test do
|
101
101
|
SampleApp.new.nonsense
|
102
102
|
end
|
103
|
-
assert @wrapper.
|
103
|
+
assert @wrapper.tp_result_chain.size > 0
|
104
104
|
refute @wrapper.tp.enabled?
|
105
105
|
end
|
106
106
|
|
@@ -109,7 +109,7 @@ class SourceRouteTest < Minitest::Test
|
|
109
109
|
event :call, :return
|
110
110
|
end
|
111
111
|
SampleApp.new.nonsense
|
112
|
-
assert_equal 2, @wrapper.
|
112
|
+
assert_equal 2, @wrapper.tp_result_chain.size
|
113
113
|
end
|
114
114
|
|
115
115
|
def test_show_local_variables
|
@@ -119,9 +119,9 @@ class SourceRouteTest < Minitest::Test
|
|
119
119
|
end
|
120
120
|
|
121
121
|
SampleApp.new.nonsense_with_params(88)
|
122
|
-
assert_equal 1, @wrapper.
|
122
|
+
assert_equal 1, @wrapper.tp_result_chain.size
|
123
123
|
|
124
|
-
ret_value = @wrapper.
|
124
|
+
ret_value = @wrapper.tp_result_chain.last
|
125
125
|
|
126
126
|
assert_equal 88, ret_value[:local_var][:param1]
|
127
127
|
assert_equal nil, ret_value[:local_var][:param2]
|
@@ -134,9 +134,9 @@ class SourceRouteTest < Minitest::Test
|
|
134
134
|
end
|
135
135
|
|
136
136
|
SampleApp.new.nonsense_with_params(88)
|
137
|
-
assert_equal 1, @wrapper.
|
137
|
+
assert_equal 1, @wrapper.tp_result_chain.size
|
138
138
|
|
139
|
-
ret_value_for_return_event = @wrapper.
|
139
|
+
ret_value_for_return_event = @wrapper.tp_result_chain.last
|
140
140
|
assert_equal 88, ret_value_for_return_event[:local_var][:param1]
|
141
141
|
assert_equal 5, ret_value_for_return_event[:local_var][:param2]
|
142
142
|
end
|
@@ -148,22 +148,38 @@ class SourceRouteTest < Minitest::Test
|
|
148
148
|
|
149
149
|
SampleApp.new('ins sure').nonsense_with_instance_var
|
150
150
|
|
151
|
-
assert_equal 2, @wrapper.
|
152
|
-
ret_value = @wrapper.
|
151
|
+
assert_equal 2, @wrapper.tp_result_chain.size
|
152
|
+
ret_value = @wrapper.tp_result_chain.pop
|
153
153
|
|
154
154
|
assert_equal 'ins sure', ret_value[:instance_var][:@sample]
|
155
155
|
end
|
156
156
|
|
157
157
|
def test_import_return_to_call
|
158
|
-
|
158
|
+
SourceRoute.enable 'SampleApp' do
|
159
159
|
event :call, :return
|
160
160
|
result_config.include_instance_var = true
|
161
161
|
result_config.include_local_var = true
|
162
162
|
result_config.import_return_to_call = true
|
163
163
|
end
|
164
164
|
SampleApp.new.init_cool_app
|
165
|
-
@wrapper.
|
166
|
-
assert @wrapper.
|
165
|
+
@wrapper.import_return_value_to_call_chain
|
166
|
+
assert @wrapper.call_chain[0].key?(:return_value), 'call results should contain return_value'
|
167
|
+
end
|
168
|
+
|
169
|
+
def test_order_call_sequence
|
170
|
+
SourceRoute.enable 'SampleApp' do
|
171
|
+
event :call, :return
|
172
|
+
end
|
173
|
+
SampleApp.new.nonsense_with_instance_var
|
174
|
+
@wrapper.order_call_chain
|
175
|
+
@wrapper.order_call_chain
|
176
|
+
call_results = @wrapper.call_chain
|
177
|
+
|
178
|
+
nonsense_call_tp = call_results.find { |tp| tp[:method_id] == :nonsense }
|
179
|
+
nonsense_with_instance_var_call_tp = call_results.find { |tp| tp[:method_id] == :nonsense_with_instance_var }
|
180
|
+
|
181
|
+
assert_equal [-1, nonsense_with_instance_var_call_tp[:order_id]], nonsense_call_tp[:parent_ids]
|
182
|
+
assert_equal 2, nonsense_call_tp[:parent_length]
|
167
183
|
end
|
168
184
|
|
169
185
|
# Nothing has tested really when run rake cause ENV['ignore_html_generation'] was set to true
|
data/test/tp_filter_test.rb
CHANGED
@@ -14,7 +14,7 @@ module SourceRoute
|
|
14
14
|
@warden_tp = FakeTp.new(:auth, Warden, 6)
|
15
15
|
@user_tp = FakeTp.new(:new, User, 8)
|
16
16
|
@tps = [@devise_tp, @warden_tp, @user_tp]
|
17
|
-
@result_config =
|
17
|
+
@result_config = GenerateResult::Config.new('silence', [], false, false)
|
18
18
|
end
|
19
19
|
|
20
20
|
def test_filter_method_not_auth
|
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.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- raykin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -121,13 +121,15 @@ files:
|
|
121
121
|
- LICENSE.txt
|
122
122
|
- README.md
|
123
123
|
- Rakefile
|
124
|
+
- examples/callback_in_activesupport.rb
|
124
125
|
- examples/show_init_files_when_rails_server_start.rb
|
125
126
|
- examples/show_task_trace_in_rails.rb
|
126
127
|
- lib/source_route.rb
|
127
128
|
- lib/source_route/formats/html.rb
|
128
129
|
- lib/source_route/formats/html_template.slim
|
130
|
+
- lib/source_route/generate_result.rb
|
129
131
|
- lib/source_route/tp_filter.rb
|
130
|
-
- lib/source_route/
|
132
|
+
- lib/source_route/tp_result_chain.rb
|
131
133
|
- lib/source_route/version.rb
|
132
134
|
- lib/source_route/wrapper.rb
|
133
135
|
- source_route.gemspec
|