rack-insight 0.5.26 → 0.5.27
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 +7 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +6 -5
- data/CHANGELOG +26 -4
- data/Gemfile.lock +25 -33
- data/README.md +8 -9
- data/lib/rack/insight/config.rb +27 -2
- data/lib/rack/insight/database.rb +20 -7
- data/lib/rack/insight/instrumentation.rb +1 -0
- data/lib/rack/insight/instrumentation/eigen_client.rb +16 -0
- data/lib/rack/insight/logging.rb +11 -13
- data/lib/rack/insight/panel.rb +14 -7
- data/lib/rack/insight/panels/log_panel.rb +2 -1
- data/lib/rack/insight/panels/redis_panel.rb +0 -20
- data/lib/rack/insight/panels/redis_panel/stats.rb +1 -0
- data/lib/rack/insight/panels/speedtracer_panel.rb +3 -0
- data/lib/rack/insight/params_signature.rb +8 -6
- data/lib/rack/insight/rspec_matchers.rb +16 -0
- data/lib/rack/insight/toolbar.rb +1 -0
- data/lib/rack/insight/version.rb +1 -1
- data/rack-insight.gemspec +13 -10
- data/spec/insight_spec.rb +21 -18
- data/spec/instrumentation_spec.rb +45 -2
- data/spec/rack/insight/panels/active_record_panel_spec.rb +7 -7
- data/spec/rack/insight/panels/active_resource_panel_spec.rb +4 -4
- data/spec/rack/insight/panels/cache_panel_spec.rb +6 -6
- data/spec/rack/insight/panels/log_panel_spec.rb +9 -11
- data/spec/rack/insight/panels/memory_panel_spec.rb +1 -1
- data/spec/rack/insight/panels/rails_info_panel_spec.rb +5 -5
- data/spec/rack/insight/panels/redis_panel_spec.rb +17 -3
- data/spec/rack/insight/panels/speedtracer_panel_spec.rb +87 -86
- data/spec/rack/insight/panels/sql_panel_spec.rb +11 -8
- data/spec/rack/insight/panels/templates_panel_spec.rb +8 -7
- data/spec/rack/insight/panels/timer_panel_spec.rb +4 -4
- data/spec/spec_helper.rb +6 -4
- metadata +47 -100
@@ -1,10 +1,23 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'rack/insight/panels/redis_panel'
|
3
3
|
|
4
|
+
REDIS_INTERFACE = begin
|
5
|
+
# When Redis::Client is defined then Redis >= 3.0.0
|
6
|
+
if defined?(Redis::Client)
|
7
|
+
{ client: 'Redis::Client',
|
8
|
+
call_method: :call }
|
9
|
+
elsif defined?(Redis)
|
10
|
+
{ client: 'Redis',
|
11
|
+
call_method: :call_command }
|
12
|
+
else
|
13
|
+
nil
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
4
17
|
module Rack::Insight
|
5
18
|
describe "RedisPanel" do
|
6
19
|
before do
|
7
|
-
reset_insight :
|
20
|
+
reset_insight :panel_classes => [Rack::Insight::RedisPanel]
|
8
21
|
end
|
9
22
|
|
10
23
|
describe "heading" do
|
@@ -17,7 +30,8 @@ module Rack::Insight
|
|
17
30
|
describe "content" do
|
18
31
|
describe "usage table" do
|
19
32
|
it "displays the total number of redis calls" do
|
20
|
-
|
33
|
+
Kernel.const_get(REDIS_INTERFACE[:client]).send(REDIS_INTERFACE[:call_method], ["get, user:1"])
|
34
|
+
|
21
35
|
response = get_via_rack "/"
|
22
36
|
|
23
37
|
# This causes a bus error:
|
@@ -65,4 +79,4 @@ module Rack::Insight
|
|
65
79
|
end
|
66
80
|
end
|
67
81
|
end
|
68
|
-
end
|
82
|
+
end unless REDIS_INTERFACE.nil?
|
@@ -1,86 +1,87 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
response
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
template
|
20
|
-
template
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
response
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
response
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
response
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
response
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
response
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
end
|
1
|
+
# The SpeedTracerPanel needs to be updated to follow the RackInsight pattern. Until then there is no sense in these tests.
|
2
|
+
#require 'spec_helper'
|
3
|
+
#
|
4
|
+
#module Rack::Insight
|
5
|
+
# describe "SpeedTracerPanel" do
|
6
|
+
# before do
|
7
|
+
# mock_constant("ActionView::Template")
|
8
|
+
# reset_insight :panel_files => %w{speedtracer_panel}
|
9
|
+
# end
|
10
|
+
#
|
11
|
+
# describe "heading" do
|
12
|
+
# it "lists traces" do
|
13
|
+
# response = get_via_rack "/"
|
14
|
+
# response.should have_heading("traces")
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# def mock_template(path)
|
19
|
+
# template = double("ActionView::Template")
|
20
|
+
# template.stub!(:virtual_path => path)
|
21
|
+
# template
|
22
|
+
# end
|
23
|
+
#
|
24
|
+
# describe "content", :pending => "time to build good Speedtracer tests" do
|
25
|
+
# it "displays the template paths" do
|
26
|
+
# app.before_return do
|
27
|
+
# mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/show"))
|
28
|
+
# end
|
29
|
+
# response = get_via_rack "/"
|
30
|
+
# response.should contain("users/show")
|
31
|
+
# end
|
32
|
+
#
|
33
|
+
# it "displays the template children" do
|
34
|
+
# app.before_return do
|
35
|
+
# mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/show")) do
|
36
|
+
# mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/toolbar"))
|
37
|
+
# end
|
38
|
+
# end
|
39
|
+
# response = get_via_rack "/"
|
40
|
+
# response.should have_selector("li", :content => "users/show") do |li|
|
41
|
+
# li.should contain("users/toolbar")
|
42
|
+
# end
|
43
|
+
# end
|
44
|
+
#
|
45
|
+
# context "for templates that rendered templates" do
|
46
|
+
# it "displays the total time" do
|
47
|
+
# app.before_return do
|
48
|
+
# mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/show")) do
|
49
|
+
# mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/toolbar"))
|
50
|
+
# end
|
51
|
+
# end
|
52
|
+
#
|
53
|
+
# response = get_via_rack "/"
|
54
|
+
# response.should have_selector("li", :content => "users/show") do |li|
|
55
|
+
# li.should contain(TIME_MS_REGEXP)
|
56
|
+
# end
|
57
|
+
# end
|
58
|
+
#
|
59
|
+
# it "displays the exclusive time" do
|
60
|
+
# app.before_return do
|
61
|
+
# mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/show")) do
|
62
|
+
# mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/toolbar"))
|
63
|
+
# end
|
64
|
+
# end
|
65
|
+
#
|
66
|
+
# response = get_via_rack "/"
|
67
|
+
# response.should have_selector("li", :content => "users/show") do |li|
|
68
|
+
# li.should contain(/\d\.\d{2} exclusive/)
|
69
|
+
# end
|
70
|
+
# end
|
71
|
+
# end
|
72
|
+
#
|
73
|
+
# context "for leaf templates" do
|
74
|
+
# it "does not display the exclusive time" do
|
75
|
+
# app.before_return do
|
76
|
+
# mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/show"))
|
77
|
+
# end
|
78
|
+
#
|
79
|
+
# response = get_via_rack "/"
|
80
|
+
# response.should contain("users/show") do |li|
|
81
|
+
# li.should_not contain("exclusive")
|
82
|
+
# end
|
83
|
+
# end
|
84
|
+
# end
|
85
|
+
# end
|
86
|
+
# end
|
87
|
+
#end
|
@@ -5,7 +5,10 @@ module Rack::Insight
|
|
5
5
|
describe "SQLPanel" do
|
6
6
|
before do
|
7
7
|
mock_constant("ActiveRecord::ConnectionAdapters::MysqlAdapter")
|
8
|
-
|
8
|
+
# TODO: Figure out why panel_classes work here but panel_files does not.
|
9
|
+
# reset_insight :panel_files => %w{sql_panel}
|
10
|
+
reset_insight :panel_classes => [Rack::Insight::SQLPanel]
|
11
|
+
app.insight_app.secret_key = "abc"
|
9
12
|
end
|
10
13
|
|
11
14
|
describe "heading" do
|
@@ -32,7 +35,7 @@ module Rack::Insight
|
|
32
35
|
mock_method_call("ActiveRecord::ConnectionAdapters::MysqlAdapter", "execute", ["SELECT NOW();"])
|
33
36
|
end
|
34
37
|
response = get_via_rack "/"
|
35
|
-
response.should have_row("#
|
38
|
+
response.should have_row("div.panel_content#SqlPanel", "SELECT NOW();")
|
36
39
|
end
|
37
40
|
|
38
41
|
it "displays the time of each executed SQL query" do
|
@@ -40,24 +43,24 @@ module Rack::Insight
|
|
40
43
|
mock_method_call("ActiveRecord::ConnectionAdapters::MysqlAdapter", "execute", ["SELECT NOW();"])
|
41
44
|
end
|
42
45
|
response = get_via_rack "/"
|
43
|
-
response.should have_row("#
|
46
|
+
response.should have_row("div.panel_content#SqlPanel", "SELECT NOW();", TIME_MS_REGEXP)
|
44
47
|
end
|
45
48
|
end
|
46
49
|
|
47
50
|
def stub_result(results = [[]])
|
48
51
|
columns = results.first
|
49
|
-
fields = columns.map { |c|
|
52
|
+
fields = columns.map { |c| double("field", :name => c) }
|
50
53
|
rows = results[1..-1]
|
51
54
|
|
52
|
-
result =
|
53
|
-
result.stub
|
55
|
+
result = double("result", :fetch_fields => fields)
|
56
|
+
result.stub(:map).and_yield(rows)
|
54
57
|
return result
|
55
58
|
end
|
56
59
|
|
57
60
|
def expect_query(sql, results)
|
58
|
-
conn =
|
61
|
+
conn = double("connection")
|
59
62
|
mock_constant("ActiveRecord::Base")
|
60
|
-
ActiveRecord::Base.stub
|
63
|
+
ActiveRecord::Base.stub(:connection => conn)
|
61
64
|
conn.should_receive(:execute).with(sql).and_return(stub_result(results))
|
62
65
|
end
|
63
66
|
|
@@ -16,8 +16,8 @@ module Rack::Insight
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def mock_template(path)
|
19
|
-
template =
|
20
|
-
template.stub
|
19
|
+
template = double("ActionView::Template")
|
20
|
+
template.stub(:virtual_path => path)
|
21
21
|
template
|
22
22
|
end
|
23
23
|
|
@@ -37,7 +37,7 @@ module Rack::Insight
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
response = get_via_rack "/"
|
40
|
-
response.should have_selector("
|
40
|
+
response.should have_selector("div.panel_content#TemplatesPanel", :content => "users/show") do |li|
|
41
41
|
li.should contain("users/toolbar")
|
42
42
|
end
|
43
43
|
end
|
@@ -51,12 +51,12 @@ module Rack::Insight
|
|
51
51
|
end
|
52
52
|
|
53
53
|
response = get_via_rack "/"
|
54
|
-
response.should have_selector("
|
54
|
+
response.should have_selector("div.panel_content#TemplatesPanel", :content => "users/show") do |li|
|
55
55
|
li.should contain(TIME_MS_REGEXP)
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
-
it "displays the exclusive
|
59
|
+
it "displays the exclusive and child times" do
|
60
60
|
app.before_return do
|
61
61
|
mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/show")) do
|
62
62
|
mock_method_call("ActionView::Template", :render, [], :instance, mock_template("users/toolbar"))
|
@@ -64,8 +64,9 @@ module Rack::Insight
|
|
64
64
|
end
|
65
65
|
|
66
66
|
response = get_via_rack "/"
|
67
|
-
response.should have_selector("
|
68
|
-
li.should contain(
|
67
|
+
response.should have_selector("div.panel_content#TemplatesPanel", :content => "users/show") do |li|
|
68
|
+
li.should contain(/exclusive: \d\.\d{2}ms/)
|
69
|
+
li.should contain(/child: \d\.\d{2}ms/)
|
69
70
|
end
|
70
71
|
end
|
71
72
|
end
|
@@ -17,22 +17,22 @@ module Rack::Insight
|
|
17
17
|
describe "content" do
|
18
18
|
it "displays the user CPU time" do
|
19
19
|
response = get_via_rack "/"
|
20
|
-
response.should have_row("
|
20
|
+
response.should have_row("table.sortable", "User CPU time", TIME_MS_REGEXP)
|
21
21
|
end
|
22
22
|
|
23
23
|
it "displays the system CPU time" do
|
24
24
|
response = get_via_rack "/"
|
25
|
-
response.should have_row("
|
25
|
+
response.should have_row("table.sortable", "System CPU time", TIME_MS_REGEXP)
|
26
26
|
end
|
27
27
|
|
28
28
|
it "displays the total CPU time" do
|
29
29
|
response = get_via_rack "/"
|
30
|
-
response.should have_row("
|
30
|
+
response.should have_row("table.sortable", "Total CPU time", TIME_MS_REGEXP)
|
31
31
|
end
|
32
32
|
|
33
33
|
it "displays the elapsed time" do
|
34
34
|
response = get_via_rack "/"
|
35
|
-
response.should have_row("
|
35
|
+
response.should have_row("table.sortable", "Elapsed time", TIME_MS_REGEXP)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -14,11 +14,11 @@ require "rack/insight/rspec_matchers"
|
|
14
14
|
|
15
15
|
# Will use the default Ruby Logger.
|
16
16
|
Rack::Insight::Config.configure do |config|
|
17
|
-
config[:verbosity] = Rack::Insight::
|
17
|
+
config[:verbosity] = Rack::Insight::Config::VERBOSITY[:silent]
|
18
18
|
config[:log_level] = ::Logger::INFO
|
19
19
|
end
|
20
20
|
puts "Log Level for specs is #{::Logger::ERROR}"
|
21
|
-
puts "Verbosity level for specs is #{Rack::Insight::
|
21
|
+
puts "Verbosity level for specs is #{Rack::Insight::Config::VERBOSITY.select {|k,v| v == Rack::Insight::Config.verbosity }.keys.first.inspect} or #{Rack::Insight::Config.verbosity}"
|
22
22
|
|
23
23
|
RSpec.configure do |config|
|
24
24
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
@@ -49,11 +49,13 @@ RSpec.configure do |config|
|
|
49
49
|
@added_constants.clear
|
50
50
|
end
|
51
51
|
|
52
|
-
|
52
|
+
config.after :suite do
|
53
|
+
# Clear the database between runs
|
53
54
|
system(*%w{rm -f rack-insight.sqlite})
|
54
|
-
|
55
55
|
Rack::Insight::Database.reset
|
56
|
+
end
|
56
57
|
|
58
|
+
def reset_insight(options=nil)
|
57
59
|
app.prototype
|
58
60
|
app.insight_app.reset(options)
|
59
61
|
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-insight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.27
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Peter Boling
|
@@ -12,207 +11,152 @@ authors:
|
|
12
11
|
autorequire:
|
13
12
|
bindir: bin
|
14
13
|
cert_chain: []
|
15
|
-
date: 2013-
|
14
|
+
date: 2013-09-03 00:00:00.000000000 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: rack
|
19
18
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
19
|
requirements:
|
22
|
-
- -
|
20
|
+
- - '>='
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: '0'
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - '>='
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '0'
|
33
30
|
- !ruby/object:Gem::Dependency
|
34
31
|
name: uuidtools
|
35
32
|
requirement: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
33
|
requirements:
|
38
|
-
- -
|
34
|
+
- - '>='
|
39
35
|
- !ruby/object:Gem::Version
|
40
36
|
version: 2.1.2
|
41
37
|
type: :runtime
|
42
38
|
prerelease: false
|
43
39
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
40
|
requirements:
|
46
|
-
- -
|
41
|
+
- - '>='
|
47
42
|
- !ruby/object:Gem::Version
|
48
43
|
version: 2.1.2
|
49
44
|
- !ruby/object:Gem::Dependency
|
50
45
|
name: sqlite3
|
51
46
|
requirement: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
47
|
requirements:
|
54
|
-
- -
|
48
|
+
- - '>='
|
55
49
|
- !ruby/object:Gem::Version
|
56
50
|
version: 1.3.3
|
57
51
|
type: :runtime
|
58
52
|
prerelease: false
|
59
53
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
54
|
requirements:
|
62
|
-
- -
|
55
|
+
- - '>='
|
63
56
|
- !ruby/object:Gem::Version
|
64
57
|
version: 1.3.3
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: redcarpet
|
67
|
-
requirement: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
|
-
requirements:
|
70
|
-
- - ! '>='
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: '0'
|
73
|
-
type: :development
|
74
|
-
prerelease: false
|
75
|
-
version_requirements: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
|
-
requirements:
|
78
|
-
- - ! '>='
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: '0'
|
81
58
|
- !ruby/object:Gem::Dependency
|
82
59
|
name: reek
|
83
60
|
requirement: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
61
|
requirements:
|
86
|
-
- -
|
62
|
+
- - '>='
|
87
63
|
- !ruby/object:Gem::Version
|
88
|
-
version: 1.2.
|
64
|
+
version: 1.2.13
|
89
65
|
type: :development
|
90
66
|
prerelease: false
|
91
67
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
68
|
requirements:
|
94
|
-
- -
|
69
|
+
- - '>='
|
95
70
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.2.
|
71
|
+
version: 1.2.13
|
97
72
|
- !ruby/object:Gem::Dependency
|
98
73
|
name: roodi
|
99
74
|
requirement: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
75
|
requirements:
|
102
|
-
- -
|
76
|
+
- - '>='
|
103
77
|
- !ruby/object:Gem::Version
|
104
|
-
version: 2.
|
78
|
+
version: 2.2.0
|
105
79
|
type: :development
|
106
80
|
prerelease: false
|
107
81
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
82
|
requirements:
|
110
|
-
- -
|
83
|
+
- - '>='
|
111
84
|
- !ruby/object:Gem::Version
|
112
|
-
version: 2.
|
85
|
+
version: 2.2.0
|
113
86
|
- !ruby/object:Gem::Dependency
|
114
87
|
name: rake
|
115
88
|
requirement: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
89
|
requirements:
|
118
|
-
- -
|
90
|
+
- - '>='
|
119
91
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
92
|
+
version: 10.1.0
|
121
93
|
type: :development
|
122
94
|
prerelease: false
|
123
95
|
version_requirements: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
96
|
requirements:
|
126
|
-
- -
|
97
|
+
- - '>='
|
127
98
|
- !ruby/object:Gem::Version
|
128
|
-
version:
|
99
|
+
version: 10.1.0
|
129
100
|
- !ruby/object:Gem::Dependency
|
130
101
|
name: rspec
|
131
102
|
requirement: !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
103
|
requirements:
|
134
|
-
- -
|
104
|
+
- - '>='
|
135
105
|
- !ruby/object:Gem::Version
|
136
|
-
version: 2.
|
106
|
+
version: 2.14.1
|
137
107
|
type: :development
|
138
108
|
prerelease: false
|
139
109
|
version_requirements: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
110
|
requirements:
|
142
|
-
- -
|
111
|
+
- - '>='
|
143
112
|
- !ruby/object:Gem::Version
|
144
|
-
version: 2.
|
113
|
+
version: 2.14.1
|
145
114
|
- !ruby/object:Gem::Dependency
|
146
115
|
name: sinatra
|
147
116
|
requirement: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
117
|
requirements:
|
150
|
-
- -
|
118
|
+
- - '>='
|
151
119
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
120
|
+
version: 1.4.3
|
153
121
|
type: :development
|
154
122
|
prerelease: false
|
155
123
|
version_requirements: !ruby/object:Gem::Requirement
|
156
|
-
none: false
|
157
124
|
requirements:
|
158
|
-
- -
|
125
|
+
- - '>='
|
159
126
|
- !ruby/object:Gem::Version
|
160
|
-
version:
|
127
|
+
version: 1.4.3
|
161
128
|
- !ruby/object:Gem::Dependency
|
162
129
|
name: webrat
|
163
130
|
requirement: !ruby/object:Gem::Requirement
|
164
|
-
none: false
|
165
|
-
requirements:
|
166
|
-
- - ! '>='
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
version: '0'
|
169
|
-
type: :development
|
170
|
-
prerelease: false
|
171
|
-
version_requirements: !ruby/object:Gem::Requirement
|
172
|
-
none: false
|
173
|
-
requirements:
|
174
|
-
- - ! '>='
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
version: '0'
|
177
|
-
- !ruby/object:Gem::Dependency
|
178
|
-
name: debugger
|
179
|
-
requirement: !ruby/object:Gem::Requirement
|
180
|
-
none: false
|
181
131
|
requirements:
|
182
|
-
- -
|
132
|
+
- - '>='
|
183
133
|
- !ruby/object:Gem::Version
|
184
|
-
version:
|
134
|
+
version: 0.7.3
|
185
135
|
type: :development
|
186
136
|
prerelease: false
|
187
137
|
version_requirements: !ruby/object:Gem::Requirement
|
188
|
-
none: false
|
189
138
|
requirements:
|
190
|
-
- -
|
139
|
+
- - '>='
|
191
140
|
- !ruby/object:Gem::Version
|
192
|
-
version:
|
141
|
+
version: 0.7.3
|
193
142
|
- !ruby/object:Gem::Dependency
|
194
143
|
name: gem-release
|
195
144
|
requirement: !ruby/object:Gem::Requirement
|
196
|
-
none: false
|
197
145
|
requirements:
|
198
|
-
- -
|
146
|
+
- - '>='
|
199
147
|
- !ruby/object:Gem::Version
|
200
|
-
version: 0.
|
148
|
+
version: 0.6.0
|
201
149
|
type: :development
|
202
150
|
prerelease: false
|
203
151
|
version_requirements: !ruby/object:Gem::Requirement
|
204
|
-
none: false
|
205
152
|
requirements:
|
206
|
-
- -
|
153
|
+
- - '>='
|
207
154
|
- !ruby/object:Gem::Version
|
208
|
-
version: 0.
|
209
|
-
description:
|
155
|
+
version: 0.6.0
|
156
|
+
description: "Debugging toolbar for Rack applications implemented as\n middleware.
|
210
157
|
\ Based on logical-insight and rack-bug. "
|
211
158
|
email:
|
212
159
|
- peter.boling@gmail.com
|
213
|
-
- evan@lrdesign.com
|
214
|
-
- judson@lrdesign.com
|
215
|
-
- bryan@brynary.com
|
216
160
|
executables: []
|
217
161
|
extensions: []
|
218
162
|
extra_rdoc_files:
|
@@ -222,6 +166,8 @@ extra_rdoc_files:
|
|
222
166
|
files:
|
223
167
|
- .gitignore
|
224
168
|
- .rspec
|
169
|
+
- .ruby-gemset
|
170
|
+
- .ruby-version
|
225
171
|
- .simplecov
|
226
172
|
- .travis.yml
|
227
173
|
- CHANGELOG
|
@@ -242,6 +188,7 @@ files:
|
|
242
188
|
- lib/rack/insight/instrumentation.rb
|
243
189
|
- lib/rack/insight/instrumentation/backstage.rb
|
244
190
|
- lib/rack/insight/instrumentation/client.rb
|
191
|
+
- lib/rack/insight/instrumentation/eigen_client.rb
|
245
192
|
- lib/rack/insight/instrumentation/instrument.rb
|
246
193
|
- lib/rack/insight/instrumentation/package-definition.rb
|
247
194
|
- lib/rack/insight/instrumentation/probe-definition.rb
|
@@ -354,28 +301,28 @@ files:
|
|
354
301
|
- spec/spec.opts
|
355
302
|
- spec/spec_helper.rb
|
356
303
|
homepage: https://github.com/pboling/rack-insight
|
357
|
-
licenses:
|
304
|
+
licenses:
|
305
|
+
- MIT
|
306
|
+
metadata: {}
|
358
307
|
post_install_message:
|
359
308
|
rdoc_options: []
|
360
309
|
require_paths:
|
361
310
|
- lib
|
362
311
|
required_ruby_version: !ruby/object:Gem::Requirement
|
363
|
-
none: false
|
364
312
|
requirements:
|
365
|
-
- -
|
313
|
+
- - '>='
|
366
314
|
- !ruby/object:Gem::Version
|
367
315
|
version: '0'
|
368
316
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
369
|
-
none: false
|
370
317
|
requirements:
|
371
|
-
- -
|
318
|
+
- - '>='
|
372
319
|
- !ruby/object:Gem::Version
|
373
320
|
version: '0'
|
374
321
|
requirements: []
|
375
322
|
rubyforge_project:
|
376
|
-
rubygems_version:
|
323
|
+
rubygems_version: 2.0.3
|
377
324
|
signing_key:
|
378
|
-
specification_version:
|
325
|
+
specification_version: 4
|
379
326
|
summary: Debugging toolbar for Rack applications implemented as middleware.
|
380
327
|
test_files:
|
381
328
|
- spec/custom_matchers.rb
|