rack-webprofiler 0.1.0.pre.beta1 → 0.1.0.pre.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +7 -17
- data/lib/rack/templates/assets/css/profiler.css +1 -1
- data/lib/rack/templates/assets/css/rwpt.css +1 -1
- data/lib/rack/templates/assets/sass/_highlight.scss +63 -0
- data/lib/rack/templates/assets/sass/_variables.scss +1 -0
- data/lib/rack/templates/assets/sass/profiler.scss +1 -1
- data/lib/rack/templates/assets/sass/rwpt.scss +27 -9
- data/lib/rack/templates/async.erb +8 -8
- data/lib/rack/templates/panel/_sidebar.erb +3 -23
- data/lib/rack/templates/panel/index.erb +18 -6
- data/lib/rack/templates/panel/layout.erb +9 -5
- data/lib/rack/templates/panel/show.erb +25 -7
- data/lib/rack/templates/profiler.erb +15 -12
- data/lib/rack/web_profiler/collector/rack/request_collector.rb +38 -35
- data/lib/rack/web_profiler/collector/ruby_collector.rb +9 -7
- data/lib/rack/web_profiler/collector/time_collector.rb +2 -2
- data/lib/rack/web_profiler/collector/view.rb +44 -0
- data/lib/rack/web_profiler/collector.rb +29 -16
- data/lib/rack/web_profiler/config.rb +0 -10
- data/lib/rack/web_profiler/controller.rb +69 -64
- data/lib/rack/web_profiler/engine.rb +15 -6
- data/lib/rack/web_profiler/model/collection_record.rb +1 -0
- data/lib/rack/web_profiler/request.rb +5 -1
- data/lib/rack/web_profiler/router.rb +1 -1
- data/lib/rack/web_profiler/version.rb +1 -1
- data/lib/rack/web_profiler/view.rb +236 -0
- data/lib/rack/web_profiler.rb +34 -17
- data/rack-webprofiler.gemspec +1 -0
- metadata +19 -10
- data/lib/rack/web_profiler/auto_configure/rails.rb +0 -12
- data/lib/rack/web_profiler/collector/rails/active_record_collector.rb +0 -25
- data/lib/rack/web_profiler/collector/rails/logger_collector.rb +0 -22
- data/lib/rack/web_profiler/collector/rails/rails_collector.rb +0 -25
- data/lib/rack/web_profiler/collector/rails/request_collector.rb +0 -50
- data/lib/rack/web_profiler/collector/sinatra/request_collector.rb +0 -216
- data/lib/rack/web_profiler/collector/sinatra/sinatra_collector.rb +0 -25
- data/lib/rack/web_profiler/erb.rb +0 -9
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzE0ZmJhYzk5Yjc0YzM0OTIxZjIzYzUzNjE4NzA1MzYwMDYyNzNkZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MTUxNjM4MTQ2YmM4YTU2N2Y2ODZhNTg2ZDg2NmE3NjlkN2FjNjVkZg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2M4MDYyNDFhOTJiMzNjNmQ3NjFiNDE0ZmQyODViNmViZTdlZWYzYjdmNTZl
|
10
|
+
NzcwMjE4NjI1ODBkOTg4OGViZDA4NGViYmY1NzI0ZjBlZTQ4NjRkM2VlZmE2
|
11
|
+
MjJjYjk0OWVhOTg0ZWY0ZGQ4NTZjZjcwYmU1ZGUyMGJhZjMxYWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YjczODk2M2M3Y2RmNThiZDdjNWNiNjVkYzJlYWI0MjMzMWU2MmE3YmNiYWNk
|
14
|
+
NWNmODFmNmIwNWQ1ODBiNjExMWQ2YjQxYzA2ZDk3YzQ3Yjg0NTcxNmQ2ZDU0
|
15
|
+
MmVhM2U2ZmMzYjY1NTgxZmYyMmQyMmIwOTNhYTk3ZDMxZmFhNzg=
|
data/README.md
CHANGED
@@ -38,21 +38,6 @@ end
|
|
38
38
|
run builder
|
39
39
|
```
|
40
40
|
|
41
|
-
### Sinatra
|
42
|
-
|
43
|
-
```ruby
|
44
|
-
require "rack-webprofiler"
|
45
|
-
|
46
|
-
class App < Sinatra::Base
|
47
|
-
use Rack::WebProfiler
|
48
|
-
end
|
49
|
-
```
|
50
|
-
|
51
|
-
### Rails
|
52
|
-
|
53
|
-
The WebProfiler is automatically enabled.
|
54
|
-
|
55
|
-
|
56
41
|
## Configuration
|
57
42
|
|
58
43
|
You can specify the temporary directory. It is used to save the SQlite database.
|
@@ -84,13 +69,18 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
84
69
|
|
85
70
|
Bug reports and pull requests are welcome on GitHub at https://github.com/nicolas-brousse/rack-webprofiler. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
86
71
|
|
72
|
+
## Contributors
|
73
|
+
|
74
|
+
* Thomas de Cicco — Design ([@Thomasdc_](https://twitter.com/Thomasdc_))
|
75
|
+
* Christophe Massolin — FrontEnd ([@furiouzz](https://github.com/furiouzz))
|
76
|
+
|
87
77
|
## License
|
88
78
|
|
89
79
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
90
80
|
|
91
81
|
## Alternatives & comments
|
92
82
|
|
93
|
-
* https://github.com/MiniProfiler/rack-mini-profiler
|
94
|
-
* https://github.com/dawanda/rack-profiler
|
83
|
+
* [https://github.com/MiniProfiler/rack-mini-profiler](https://github.com/MiniProfiler/rack-mini-profiler)
|
84
|
+
* [https://github.com/dawanda/rack-profiler](https://github.com/dawanda/rack-profiler)
|
95
85
|
|
96
86
|
This project is in part inspired by the [Symfony WebProfiler Bundle](https://github.com/symfony/web-profiler-bundle).
|
@@ -1 +1 @@
|
|
1
|
-
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url("https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRampu5_7CjHW5spxoeN3Vs.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local("Open Sans"),local("OpenSans"),url("https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local("Open Sans Semibold"),local("OpenSans-Semibold"),url("https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local("Open Sans Bold"),local("OpenSans-Bold"),url("https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;src:local("Open Sans Extrabold"),local("OpenSans-Extrabold"),url("https://fonts.gstatic.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hhampu5_7CjHW5spxoeN3Vs.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local("Open Sans Light Italic"),local("OpenSansLight-Italic"),url("https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxtTIkQYohD4BpHvJ3NvbHoA.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local("Open Sans Italic"),local("OpenSans-Italic"),url("https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBogp9Q8gbYrhqGlRav_IXfk.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;src:local("Open Sans Semibold Italic"),local("OpenSans-SemiboldItalic"),url("https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxsiAiQ_a33snTsJhwZvMEaI.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url("https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxv79_ZuUxCigM2DespTnFaw.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;src:local("Open Sans Extrabold Italic"),local("OpenSans-ExtraboldItalic"),url("https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxmPkvcX8kXDzy1NrkNCBkJ4.woff2") format("woff2")}#rack-webprofiler-bar{position:fixed;left:0;bottom:0;font-family:"Open Sans","Helvetica Neue",Arial,sans-serif;height:
|
1
|
+
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url("https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRampu5_7CjHW5spxoeN3Vs.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local("Open Sans"),local("OpenSans"),url("https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;src:local("Open Sans Semibold"),local("OpenSans-Semibold"),url("https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local("Open Sans Bold"),local("OpenSans-Bold"),url("https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;src:local("Open Sans Extrabold"),local("OpenSans-Extrabold"),url("https://fonts.gstatic.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hhampu5_7CjHW5spxoeN3Vs.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local("Open Sans Light Italic"),local("OpenSansLight-Italic"),url("https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxtTIkQYohD4BpHvJ3NvbHoA.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local("Open Sans Italic"),local("OpenSans-Italic"),url("https://fonts.gstatic.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBogp9Q8gbYrhqGlRav_IXfk.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;src:local("Open Sans Semibold Italic"),local("OpenSans-SemiboldItalic"),url("https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxsiAiQ_a33snTsJhwZvMEaI.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url("https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxv79_ZuUxCigM2DespTnFaw.woff2") format("woff2")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;src:local("Open Sans Extrabold Italic"),local("OpenSans-ExtraboldItalic"),url("https://fonts.gstatic.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxmPkvcX8kXDzy1NrkNCBkJ4.woff2") format("woff2")}#rack-webprofiler-bar{position:fixed;left:0;bottom:0;font-family:"Open Sans","Helvetica Neue",Arial,sans-serif;height:45px;/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */}#rack-webprofiler-bar img,#rack-webprofiler-bar legend{border:0}#rack-webprofiler-bar legend,#rack-webprofiler-bar td,#rack-webprofiler-bar th{padding:0}#rack-webprofiler-bar html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}#rack-webprofiler-bar body{margin:0}#rack-webprofiler-bar article,#rack-webprofiler-bar aside,#rack-webprofiler-bar details,#rack-webprofiler-bar figcaption,#rack-webprofiler-bar figure,#rack-webprofiler-bar footer,#rack-webprofiler-bar header,#rack-webprofiler-bar hgroup,#rack-webprofiler-bar main,#rack-webprofiler-bar menu,#rack-webprofiler-bar nav,#rack-webprofiler-bar section,#rack-webprofiler-bar summary{display:block}#rack-webprofiler-bar audio,#rack-webprofiler-bar canvas,#rack-webprofiler-bar progress,#rack-webprofiler-bar video{display:inline-block;vertical-align:baseline}#rack-webprofiler-bar audio:not([controls]){display:none;height:0}#rack-webprofiler-bar [hidden],#rack-webprofiler-bar template{display:none}#rack-webprofiler-bar a{background-color:transparent}#rack-webprofiler-bar a:active,#rack-webprofiler-bar a:hover{outline:0}#rack-webprofiler-bar abbr[title]{border-bottom:1px dotted}#rack-webprofiler-bar b,#rack-webprofiler-bar optgroup,#rack-webprofiler-bar strong{font-weight:700}#rack-webprofiler-bar dfn{font-style:italic}#rack-webprofiler-bar h1{font-size:2em;margin:.67em 0}#rack-webprofiler-bar mark{background:#ff0;color:#000}#rack-webprofiler-bar small{font-size:80%}#rack-webprofiler-bar sub,#rack-webprofiler-bar sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}#rack-webprofiler-bar sup{top:-.5em}#rack-webprofiler-bar sub{bottom:-.25em}#rack-webprofiler-bar svg:not(:root){overflow:hidden}#rack-webprofiler-bar figure{margin:1em 40px}#rack-webprofiler-bar hr{box-sizing:content-box;height:0}#rack-webprofiler-bar pre,#rack-webprofiler-bar textarea{overflow:auto}#rack-webprofiler-bar code,#rack-webprofiler-bar kbd,#rack-webprofiler-bar pre,#rack-webprofiler-bar samp{font-family:monospace,monospace;font-size:1em}#rack-webprofiler-bar button,#rack-webprofiler-bar input,#rack-webprofiler-bar optgroup,#rack-webprofiler-bar select,#rack-webprofiler-bar textarea{color:inherit;font:inherit;margin:0}#rack-webprofiler-bar button{overflow:visible}#rack-webprofiler-bar button,#rack-webprofiler-bar select{text-transform:none}#rack-webprofiler-bar button,#rack-webprofiler-bar html input[type=button],#rack-webprofiler-bar input[type=reset],#rack-webprofiler-bar input[type=submit]{-webkit-appearance:button;cursor:pointer}#rack-webprofiler-bar button[disabled],#rack-webprofiler-bar html input[disabled]{cursor:default}#rack-webprofiler-bar button::-moz-focus-inner,#rack-webprofiler-bar input::-moz-focus-inner{border:0;padding:0}#rack-webprofiler-bar input{line-height:normal}#rack-webprofiler-bar input[type=checkbox],#rack-webprofiler-bar input[type=radio]{box-sizing:border-box;padding:0}#rack-webprofiler-bar input[type=number]::-webkit-inner-spin-button,#rack-webprofiler-bar input[type=number]::-webkit-outer-spin-button{height:auto}#rack-webprofiler-bar input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}#rack-webprofiler-bar input[type=search]::-webkit-search-cancel-button,#rack-webprofiler-bar input[type=search]::-webkit-search-decoration{-webkit-appearance:none}#rack-webprofiler-bar fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}#rack-webprofiler-bar table{border-collapse:collapse;border-spacing:0}#rack-webprofiler-bar *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-osx-font-smooth:grayscale;margin:0;padding:0}#rack-webprofiler-bar a{text-decoration:none}#rack-webprofiler-bar.rack-webprofiler--long{width:100%;background-color:#1c1f33}#rack-webprofiler-bar .rack-webprofiler__wrapper{display:table}#rack-webprofiler-bar .rack-webprofiler__item{box-sizing:border-box;display:table-cell;height:40px;padding:10px;position:relative;background-color:#1c1f33;border-top:1px #282f4c solid;border-right:1px #282f4c solid}#rack-webprofiler-bar .rack-webprofiler__item a{width:100%;height:100%;display:inline-block}#rack-webprofiler-bar .rack-webprofiler__item--has-drop{cursor:pointer}#rack-webprofiler-bar .rack-webprofiler__item:hover{background-color:#282f4c}#rack-webprofiler-bar .rack-webprofiler__item:hover .rack-webprofiler__item__drop{display:block}#rack-webprofiler-bar .rack-webprofiler__item i.icn{display:inline-block;vertical-align:middle;padding-left:2px;padding-right:5px}#rack-webprofiler-bar .rack-webprofiler__item--close{width:45px;text-align:center;-webkit-user-select:none;user-select:none;cursor:pointer}#rack-webprofiler-bar .rack-webprofiler__item--close i.icn{padding:0px}#rack-webprofiler-bar .rack-webprofiler__item__label,#rack-webprofiler-bar .rack-webprofiler__item__value{font-weight:600;font-size:0.875em;color:#c4c2cc}#rack-webprofiler-bar .rack-webprofiler__item__value{color:#f3fcf0;vertical-align:middle}#rack-webprofiler-bar .rack-webprofiler__item__status-color{display:block;width:100%;height:4px;position:absolute;left:0;bottom:0}#rack-webprofiler-bar .rack-webprofiler__item__status-color.success{background-color:#7ed321}#rack-webprofiler-bar .rack-webprofiler__item__status-color.warning{background-color:#f8e71c}#rack-webprofiler-bar .rack-webprofiler__item__status-color.error{background-color:#d92b2e}#rack-webprofiler-bar .rack-webprofiler__item__drop{display:none;width:100%;height:1px;position:absolute;top:-1px;left:-1px}#rack-webprofiler-bar .rack-webprofiler__item__drop .rack-webprofiler__item__value{font-weight:400}#rack-webprofiler-bar .rack-webprofiler__item__drop .rack-webprofiler__item__drop__wrapper{box-sizing:border-box;min-width:100%;padding:10px;border:1px #282f4c solid;border-bottom:0;background-color:#202540;white-space:nowrap;position:absolute;left:0;bottom:0}#rack-webprofiler-bar .rack-webprofiler__item__drop--list .rack-webprofiler__item__drop__wrapper .rack-webprofiler__item__label{color:#c4c2cc}#rack-webprofiler-bar .rack-webprofiler__item__drop--list .rack-webprofiler__item__drop__wrapper .rack-webprofiler__item__value{padding-left:10px;color:#f3fcf0}#rack-webprofiler-bar .rack-webprofiler__item__drop--list .rack-webprofiler__item__drop__wrapper th,#rack-webprofiler-bar .rack-webprofiler__item__drop--list .rack-webprofiler__item__drop__wrapper td{text-align:left;white-space:nowrap}
|
@@ -1 +1 @@
|
|
1
|
-
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}body{font-family:"Open Sans", "Helvetica Neue", Arial, sans-serif}#rack-webprofiler{position:absolute;width:100%;height:100%}#rack-webprofiler,#rack-webprofiler *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-osx-font-smooth:grayscale}#rack-webprofiler a{text-decoration:none}#rack-webprofiler
|
1
|
+
.highlight .hll{background-color:#ffc}.highlight .c{color:#999988;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{color:#000000;font-weight:bold}.highlight .o{color:#000000;font-weight:bold}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999;font-weight:bold;font-style:italic}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-weight:bold;font-style:italic}.highlight .gd{color:#000000;background-color:#fdd}.highlight .ge{color:#000000;font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000000;background-color:#dfd}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{color:#000000;font-weight:bold}.highlight .kd{color:#000000;font-weight:bold}.highlight .kn{color:#000000;font-weight:bold}.highlight .kp{color:#000000;font-weight:bold}.highlight .kr{color:#000000;font-weight:bold}.highlight .kt{color:#445588;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d01040}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#445588;font-weight:bold}.highlight .no{color:teal}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:purple}.highlight .ne{color:#990000;font-weight:bold}.highlight .nf{color:#990000;font-weight:bold}.highlight .nl{color:#990000;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{color:#000000;font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d01040}.highlight .sc{color:#d01040}.highlight .sd{color:#d01040}.highlight .s2{color:#d01040}.highlight .se{color:#d01040}.highlight .sh{color:#d01040}.highlight .si{color:#d01040}.highlight .sx{color:#d01040}.highlight .sr{color:#009926}.highlight .s1{color:#d01040}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}body{font-family:"Open Sans", "Helvetica Neue", Arial, sans-serif}#rack-webprofiler{position:absolute;width:100%;height:100%}#rack-webprofiler,#rack-webprofiler *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-osx-font-smooth:grayscale}#rack-webprofiler a{text-decoration:none}#rack-webprofiler h1,#rack-webprofiler h2,#rack-webprofiler h3,#rack-webprofiler h4,#rack-webprofiler h5,#rack-webprofiler h6{margin-top:0;margin-bottom:25px;text-align:left;text-transform:none;font-weight:700;color:#1c1f33}#rack-webprofiler h1 {font-size:1.5em}#rack-webprofiler h2{font-size:1.25em}#rack-webprofiler h3{font-size:1.125em}#rack-webprofiler .block{margin-bottom:35px}#rack-webprofiler .block table{width:calc(100% - 2px);border-collapse:collapse;outline:1px #979797 solid}#rack-webprofiler .block table th,#rack-webprofiler .block table td{padding:6px 9px;border:1px #d8d8d8 solid;font-size:0.75em;word-break:break-all}#rack-webprofiler .block table th:first-child{width:20%}#rack-webprofiler .block table th:first-child,#rack-webprofiler .block table td:first-child{border-left-width:0}#rack-webprofiler .block table th:last-child,#rack-webprofiler .block table td:last-child{border-right-width:0}#rack-webprofiler .block table thead tr:first-child th,#rack-webprofiler .block table thead tr:first-child td{border-top-width:0}#rack-webprofiler .block table tbody tr:last-child th,#rack-webprofiler .block table tbody tr:last-child td{border-bottom-width:0}#rack-webprofiler .block table th{background-color:#ececec;text-align:left;font-weight:400;color:#1c1f33}#rack-webprofiler .block table thead th{text-transform:capitalize}#rack-webprofiler .block table td.code{font-family:"Courier New"}#rack-webprofiler .block p{text-align:left;text-transform:none;font-size:0.875em;line-height:1.4em;color:#666370}#rack-webprofiler .block.block--text .text__no-value{font-style:italic}#rack-webprofiler .block.block--summary table{width:100%;border-collapse:collapse}#rack-webprofiler .block.block--summary table th{text-align:left;line-height:1.4em;font-weight:400;font-size:0.875em;color:#666370}#rack-webprofiler .block.block--summary .value,#rack-webprofiler .block.block--summary .unit{font-size:1.25em}#rack-webprofiler .block.block--summary .value{color:#45425a}#rack-webprofiler .block.block--summary .unit{color:#9b9b9b}#rack-webprofiler .header__section{display:table;width:100%;height:40px;color:#fff;font-size:1em;font-weight:300;background-color:#ff2851}#rack-webprofiler .header__section:nth-child(even){background-color:#e62548}#rack-webprofiler .header__section.header__section--blank:before{content:""}#rack-webprofiler .header__section span{box-sizing:border-box;display:table-cell;vertical-align:middle;padding-left:20px}#rack-webprofiler .header__section span a{color:#f3fcf0;text-decoration:none}#rack-webprofiler #main{overflow-y:auto;width:calc(100% - 180px);height:100%;float:left}#rack-webprofiler #sidebar{width:180px;height:100%;float:left;background-color:#1c1f33}#rack-webprofiler #sidebar .sidebar__header{height:80px;border-bottom:1px #26304b solid;text-align:center}#rack-webprofiler #sidebar .sidebar__header:before{content:"";display:inline-block;height:100%;vertical-align:middle;margin-left:-0.25em}#rack-webprofiler #sidebar .sidebar__header .sidebar__header__wrapper{display:inline-block;vertical-align:middle}#rack-webprofiler #sidebar .sidebar__header span{display:block;font-size:1em;color:#f3fcf0}#rack-webprofiler #sidebar .sidebar__header .sidebar__header__title{margin-top:15px}#rack-webprofiler #sidebar .sidebar__header .sidebar__header__title a{color:#f3fcf0;text-decoration:none}#rack-webprofiler #sidebar .sidebar__item{display:table;width:100%;height:40px;border-bottom:1px #26304b solid;-webkit-user-select:none;user-select:none}#rack-webprofiler #sidebar .sidebar__item:hover{background-color:#282f4c}#rack-webprofiler #sidebar .sidebar__item.sidebar__item--blank{display:block}#rack-webprofiler #sidebar .sidebar__item .sidebar__item-inner{display:table-cell;vertical-align:middle}#rack-webprofiler #sidebar .sidebar__item .sidebar__item-inner a{width:100%;height:100%;display:inline-block}#rack-webprofiler #sidebar .sidebar__item .icn{display:inline-block;vertical-align:middle;padding:0px 8px}#rack-webprofiler #sidebar .sidebar__item .icn img{fill:red}#rack-webprofiler #sidebar .sidebar__item i,#rack-webprofiler #sidebar .sidebar__item span{vertical-align:middle;font-weight:600;color:#f3fcf0}#rack-webprofiler #wrapper{box-sizing:border-box;width:100%;min-height:calc(100% - 80px);padding:20px;margin-bottom:50px}#rack-webprofiler .wrapper__container{box-sizing:border-box;width:100%;min-height:100%;padding:15px;border:1px #e6e6e6 solid;background-color:#fff}#rack-webprofiler .wrapper__container a{color:#444}#rack-webprofiler .wrapper__container a:hover{color:#666}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
.highlight {
|
2
|
+
.hll { background-color: #ffffcc }
|
3
|
+
.c { color: #999988; font-style: italic } /* Comment */
|
4
|
+
.err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
5
|
+
.k { color: #000000; font-weight: bold } /* Keyword */
|
6
|
+
.o { color: #000000; font-weight: bold } /* Operator */
|
7
|
+
.cm { color: #999988; font-style: italic } /* Comment.Multiline */
|
8
|
+
.cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */
|
9
|
+
.c1 { color: #999988; font-style: italic } /* Comment.Single */
|
10
|
+
.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
|
11
|
+
.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
|
12
|
+
.ge { color: #000000; font-style: italic } /* Generic.Emph */
|
13
|
+
.gr { color: #aa0000 } /* Generic.Error */
|
14
|
+
.gh { color: #999999 } /* Generic.Heading */
|
15
|
+
.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
|
16
|
+
.go { color: #888888 } /* Generic.Output */
|
17
|
+
.gp { color: #555555 } /* Generic.Prompt */
|
18
|
+
.gs { font-weight: bold } /* Generic.Strong */
|
19
|
+
.gu { color: #aaaaaa } /* Generic.Subheading */
|
20
|
+
.gt { color: #aa0000 } /* Generic.Traceback */
|
21
|
+
.kc { color: #000000; font-weight: bold } /* Keyword.Constant */
|
22
|
+
.kd { color: #000000; font-weight: bold } /* Keyword.Declaration */
|
23
|
+
.kn { color: #000000; font-weight: bold } /* Keyword.Namespace */
|
24
|
+
.kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */
|
25
|
+
.kr { color: #000000; font-weight: bold } /* Keyword.Reserved */
|
26
|
+
.kt { color: #445588; font-weight: bold } /* Keyword.Type */
|
27
|
+
.m { color: #009999 } /* Literal.Number */
|
28
|
+
.s { color: #d01040 } /* Literal.String */
|
29
|
+
.na { color: #008080 } /* Name.Attribute */
|
30
|
+
.nb { color: #0086B3 } /* Name.Builtin */
|
31
|
+
.nc { color: #445588; font-weight: bold } /* Name.Class */
|
32
|
+
.no { color: #008080 } /* Name.Constant */
|
33
|
+
.nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */
|
34
|
+
.ni { color: #800080 } /* Name.Entity */
|
35
|
+
.ne { color: #990000; font-weight: bold } /* Name.Exception */
|
36
|
+
.nf { color: #990000; font-weight: bold } /* Name.Function */
|
37
|
+
.nl { color: #990000; font-weight: bold } /* Name.Label */
|
38
|
+
.nn { color: #555555 } /* Name.Namespace */
|
39
|
+
.nt { color: #000080 } /* Name.Tag */
|
40
|
+
.nv { color: #008080 } /* Name.Variable */
|
41
|
+
.ow { color: #000000; font-weight: bold } /* Operator.Word */
|
42
|
+
.w { color: #bbbbbb } /* Text.Whitespace */
|
43
|
+
.mf { color: #009999 } /* Literal.Number.Float */
|
44
|
+
.mh { color: #009999 } /* Literal.Number.Hex */
|
45
|
+
.mi { color: #009999 } /* Literal.Number.Integer */
|
46
|
+
.mo { color: #009999 } /* Literal.Number.Oct */
|
47
|
+
.sb { color: #d01040 } /* Literal.String.Backtick */
|
48
|
+
.sc { color: #d01040 } /* Literal.String.Char */
|
49
|
+
.sd { color: #d01040 } /* Literal.String.Doc */
|
50
|
+
.s2 { color: #d01040 } /* Literal.String.Double */
|
51
|
+
.se { color: #d01040 } /* Literal.String.Escape */
|
52
|
+
.sh { color: #d01040 } /* Literal.String.Heredoc */
|
53
|
+
.si { color: #d01040 } /* Literal.String.Interpol */
|
54
|
+
.sx { color: #d01040 } /* Literal.String.Other */
|
55
|
+
.sr { color: #009926 } /* Literal.String.Regex */
|
56
|
+
.s1 { color: #d01040 } /* Literal.String.Single */
|
57
|
+
.ss { color: #990073 } /* Literal.String.Symbol */
|
58
|
+
.bp { color: #999999 } /* Name.Builtin.Pseudo */
|
59
|
+
.vc { color: #008080 } /* Name.Variable.Class */
|
60
|
+
.vg { color: #008080 } /* Name.Variable.Global */
|
61
|
+
.vi { color: #008080 } /* Name.Variable.Instance */
|
62
|
+
.il { color: #009999 } /* Literal.Number.Integer.Long */
|
63
|
+
}
|
@@ -7,5 +7,6 @@ $profiler_bar_background: $dark_blue;
|
|
7
7
|
$profiler_bar_border: $dark_blue_light;
|
8
8
|
$profiler_bar__item_hover: $dark_blue_light;
|
9
9
|
|
10
|
+
$profiler_panel__sidebar_width: 180px;
|
10
11
|
$profiler_panel__sidebar_background: $dark_blue;
|
11
12
|
$profiler_panel__sidebar_item_hover: $dark_blue_light;
|
@@ -1,5 +1,6 @@
|
|
1
1
|
@import "variables";
|
2
2
|
@import "normalize";
|
3
|
+
@import "highlight";
|
3
4
|
|
4
5
|
// #rack-webprofiler-bar {
|
5
6
|
// top: 0;
|
@@ -28,18 +29,32 @@ body {
|
|
28
29
|
text-decoration: none;
|
29
30
|
}
|
30
31
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
h1,
|
33
|
+
h2,
|
34
|
+
h3,
|
35
|
+
h4,
|
36
|
+
h5,
|
37
|
+
h6 {
|
38
|
+
margin-top: 0;
|
35
39
|
margin-bottom: 25px;
|
36
40
|
text-align: left;
|
37
41
|
text-transform: none;
|
38
|
-
font-family: "Open Sans";
|
39
42
|
font-weight: 700;
|
40
|
-
font-size: 1.125em;
|
41
43
|
color: #1c1f33;
|
42
44
|
}
|
45
|
+
h1 {
|
46
|
+
font-size: 1.5em;
|
47
|
+
}
|
48
|
+
h2 {
|
49
|
+
font-size: 1.25em;
|
50
|
+
}
|
51
|
+
h3 {
|
52
|
+
font-size: 1.125em;
|
53
|
+
}
|
54
|
+
|
55
|
+
.block {
|
56
|
+
margin-bottom: 35px;
|
57
|
+
}
|
43
58
|
|
44
59
|
.block table {
|
45
60
|
width: calc(100% - 2px);
|
@@ -51,6 +66,10 @@ body {
|
|
51
66
|
padding: 6px 9px;
|
52
67
|
border: 1px #d8d8d8 solid;
|
53
68
|
font-size: 0.75em;
|
69
|
+
word-break: break-all;
|
70
|
+
}
|
71
|
+
.block table th:first-child {
|
72
|
+
width: 20%;
|
54
73
|
}
|
55
74
|
.block table th:first-child,
|
56
75
|
.block table td:first-child {
|
@@ -69,7 +88,6 @@ body {
|
|
69
88
|
border-bottom-width: 0;
|
70
89
|
}
|
71
90
|
.block table th {
|
72
|
-
// width: 20%;
|
73
91
|
background-color: #ececec;
|
74
92
|
text-align: left;
|
75
93
|
font-weight: 400;
|
@@ -148,14 +166,14 @@ body {
|
|
148
166
|
|
149
167
|
#main {
|
150
168
|
overflow-y: auto;
|
151
|
-
width: calc(100% -
|
169
|
+
width: calc(100% - #{$profiler_panel__sidebar_width});
|
152
170
|
height: 100%;
|
153
171
|
float: left;
|
154
172
|
}
|
155
173
|
|
156
174
|
// Sidebar
|
157
175
|
#sidebar {
|
158
|
-
width:
|
176
|
+
width: $profiler_panel__sidebar_width;
|
159
177
|
height: 100%;
|
160
178
|
float: left;
|
161
179
|
background-color: $profiler_panel__sidebar_background;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div id="rwpt<%= @token %>" class="rwpt-toolbar" style="display: none"></div>
|
1
|
+
<div id="rwpt<%=h @token %>" class="rwpt-toolbar" style="display: none"></div>
|
2
2
|
<script>
|
3
3
|
/*<![CDATA[*/
|
4
4
|
APjs = (function() {
|
@@ -92,7 +92,7 @@
|
|
92
92
|
<script>
|
93
93
|
/*<![CDATA[*/
|
94
94
|
(function() {
|
95
|
-
APjs.load('rwpt<%= @token %>', '<%= @url %>', function(xhr, el) {
|
95
|
+
APjs.load('rwpt<%=h @token %>', '<%= @url %>', function(xhr, el) {
|
96
96
|
el.style.display = 'block';
|
97
97
|
return;
|
98
98
|
|
@@ -101,13 +101,13 @@
|
|
101
101
|
return;
|
102
102
|
}
|
103
103
|
if (APjs.getPreference('toolbar/displayState') == 'none') {
|
104
|
-
document.getElementById('rwptToolbarMainContent-<%= @token %>').style.display = 'none';
|
105
|
-
document.getElementById('rwptToolbarClearer-<%= @token %>').style.display = 'none';
|
106
|
-
document.getElementById('rwptMiniToolbar-<%= @token %>').style.display = 'block';
|
104
|
+
document.getElementById('rwptToolbarMainContent-<%=h @token %>').style.display = 'none';
|
105
|
+
document.getElementById('rwptToolbarClearer-<%=h @token %>').style.display = 'none';
|
106
|
+
document.getElementById('rwptMiniToolbar-<%=h @token %>').style.display = 'block';
|
107
107
|
} else {
|
108
|
-
document.getElementById('rwptToolbarMainContent-<%= @token %>').style.display = 'block';
|
109
|
-
document.getElementById('rwptToolbarClearer-<%= @token %>').style.display = 'block';
|
110
|
-
document.getElementById('rwptMiniToolbar-<%= @token %>').style.display = 'none';
|
108
|
+
document.getElementById('rwptToolbarMainContent-<%=h @token %>').style.display = 'block';
|
109
|
+
document.getElementById('rwptToolbarClearer-<%=h @token %>').style.display = 'block';
|
110
|
+
document.getElementById('rwptMiniToolbar-<%=h @token %>').style.display = 'none';
|
111
111
|
}
|
112
112
|
}, function(xhr) {
|
113
113
|
if (xhr.status !== 0) {
|
@@ -3,34 +3,14 @@
|
|
3
3
|
<div class="sidebar__header__wrapper">
|
4
4
|
<span class="sidebar__header__icn"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+VHJpYW5nbGUgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9IkRlc2t0b3AtMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTcxLjAwMDAwMCwgLTEwLjAwMDAwMCkiIGZpbGw9IiNGRkZGRkYiPiAgICAgICAgICAgIDxwYXRoIGQ9Ik04MSwzMCBMNzEsMTUgTDkxLDE1IEw4MSwzMCBaIE05MSwxNCBMNzEsMTQgTDc1LDEwIEw4NywxMCBMOTEsMTQgWiIgaWQ9IlRyaWFuZ2xlLTEiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgPC9nPjwvc3ZnPg==" alt=""></span>
|
5
5
|
<span class="sidebar__header__title">
|
6
|
-
<a href="<%= WebProfiler::Router.url_for_profiler %>">Profiler</a>
|
6
|
+
<a href="<%=h WebProfiler::Router.url_for_profiler %>">Profiler</a>
|
7
7
|
</span>
|
8
8
|
</div>
|
9
9
|
</header>
|
10
10
|
|
11
11
|
<div class="sidebar__item sidebar__item--blank"></div>
|
12
12
|
|
13
|
-
<%
|
14
|
-
|
15
|
-
<div class="sidebar__item">
|
16
|
-
<div class="sidebar__item-inner">
|
17
|
-
<a href="<%= WebProfiler::Router.url_for_profiler(@collection.token, collector.name) %>">
|
18
|
-
<i class="icn">
|
19
|
-
<% unless collector.icon.nil? %><img alt="" src="<%= collector.icon %>" /><% end %>
|
20
|
-
</i>
|
21
|
-
<span><%= collector.name %></span>
|
22
|
-
</a>
|
23
|
-
</div>
|
24
|
-
</div>
|
13
|
+
<% if content_for? :sidebar %>
|
14
|
+
<%= yield_content :sidebar %>
|
25
15
|
<% end %>
|
26
|
-
<% else %>
|
27
|
-
<div class="sidebar__item">
|
28
|
-
<div class="sidebar__item-inner">
|
29
|
-
<a href="<%= WebProfiler::Router.url_for_clean_profiler %>">
|
30
|
-
<i class="icn"></i>
|
31
|
-
<span>Cleanup database</span>
|
32
|
-
</a>
|
33
|
-
</div>
|
34
|
-
</div>
|
35
|
-
<% end %>
|
36
16
|
</aside>
|
@@ -1,3 +1,15 @@
|
|
1
|
+
<% content_for :header, "List" %>
|
2
|
+
|
3
|
+
<% content_for :sidebar do %>
|
4
|
+
<div class="sidebar__item">
|
5
|
+
<div class="sidebar__item-inner">
|
6
|
+
<a href="<%=h WebProfiler::Router.url_for_clean_profiler %>">
|
7
|
+
<i class="icn"></i>
|
8
|
+
<span>Cleanup database</span>
|
9
|
+
</a>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
1
13
|
|
2
14
|
<div class="block">
|
3
15
|
<table>
|
@@ -14,12 +26,12 @@
|
|
14
26
|
<tbody>
|
15
27
|
<% @collections.each do |r| %>
|
16
28
|
<tr>
|
17
|
-
<td><a href="<%= WebProfiler::Router.url_for_profiler(r.token) %>"><%= r.token %></a></td>
|
18
|
-
<td><%= r.http_method %></td>
|
19
|
-
<td><%= r.http_status %></td>
|
20
|
-
<td><%= r.url %></td>
|
21
|
-
<td><%= r.ip %></td>
|
22
|
-
<td><span title="<%= r.created_at %>"><%= r.created_at.strftime('%
|
29
|
+
<td><a href="<%=h WebProfiler::Router.url_for_profiler(r.token) %>"><%=h r.token %></a></td>
|
30
|
+
<td><%=h r.http_method %></td>
|
31
|
+
<td><%=h r.http_status %></td>
|
32
|
+
<td><%=h r.url %></td>
|
33
|
+
<td><%=h r.ip %></td>
|
34
|
+
<td><span title="<%= r.created_at %>"><%=h r.created_at.strftime('%a, %d %b %Y %T %Z') %></span></td>
|
23
35
|
</tr>
|
24
36
|
<% end %>
|
25
37
|
</tbody>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title>Rack WebProfiler</title>
|
5
|
-
<link rel="stylesheet" href="<%= WebProfiler::Router.url_for_asset('css/rwpt.css') %>" />
|
5
|
+
<link rel="stylesheet" href="<%=h WebProfiler::Router.url_for_asset('css/rwpt.css') %>" />
|
6
6
|
</head>
|
7
7
|
<body>
|
8
8
|
<div id="rack-webprofiler">
|
@@ -11,7 +11,11 @@
|
|
11
11
|
<main id="main">
|
12
12
|
<header id="header">
|
13
13
|
<div class="header__section">
|
14
|
-
<span
|
14
|
+
<span>
|
15
|
+
<% if content_for? :header %>
|
16
|
+
<%= yield_content :header %>
|
17
|
+
<% end %>
|
18
|
+
</span>
|
15
19
|
</div>
|
16
20
|
<div class="header__section header__section--blank"></div>
|
17
21
|
</header>
|
@@ -24,10 +28,10 @@
|
|
24
28
|
</main>
|
25
29
|
</div>
|
26
30
|
|
27
|
-
<script src="<%= WebProfiler::Router.url_for_asset('js/rwpt.min.js') %>"></script>
|
31
|
+
<script src="<%=h WebProfiler::Router.url_for_asset('js/rwpt.min.js') %>"></script>
|
28
32
|
|
29
|
-
<%
|
30
|
-
<%=
|
33
|
+
<% if content_for? :toolbar %>
|
34
|
+
<%= yield_content :toolbar %>
|
31
35
|
<% end %>
|
32
36
|
</body>
|
33
37
|
</html>
|
@@ -1,8 +1,26 @@
|
|
1
|
-
<%
|
2
|
-
|
3
|
-
|
4
|
-
%>
|
5
|
-
<
|
6
|
-
|
7
|
-
|
1
|
+
<% content_for :toolbar do %>
|
2
|
+
<%= partial 'profiler.erb', variables: { collectors: @collectors, collection: @collection } %>
|
3
|
+
<% end %>
|
4
|
+
<% content_for :header do %>
|
5
|
+
<a href="<%= @collection.url %>"><%=h @collection.url %></a>
|
6
|
+
<% end %>
|
7
|
+
<% content_for :sidebar do %>
|
8
|
+
<% @collectors.each do |_k, collector| %>
|
9
|
+
<% if collector_has_panel?(collector, @collection) %>
|
10
|
+
<div class="sidebar__item">
|
11
|
+
<div class="sidebar__item-inner">
|
12
|
+
<a href="<%=h WebProfiler::Router.url_for_profiler(@collection.token, collector.name) %>">
|
13
|
+
<i class="icn">
|
14
|
+
<% unless collector.icon.nil? %><img alt="" src="<%=h collector.icon %>" /><% end %>
|
15
|
+
</i>
|
16
|
+
<span><%=h collector.name.capitalize.gsub(/_/, ' ') %></span>
|
17
|
+
</a>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
<% end %>
|
21
|
+
<% end %>
|
22
|
+
<% end %>
|
23
|
+
|
24
|
+
<div class="rack-webprofiler_collectors_<%=h @collector.name.to_s %>">
|
25
|
+
<%= collector_panel(@collector, @collection) %>
|
8
26
|
</div>
|
@@ -1,24 +1,27 @@
|
|
1
1
|
<style>
|
2
2
|
<%= partial 'assets/css/profiler.css' %>
|
3
3
|
</style>
|
4
|
-
<%
|
5
|
-
datas = @collection.datas
|
6
|
-
token = @collection.token
|
7
|
-
%>
|
8
4
|
<div id="rack-webprofiler-bar" class="rack-webprofiler--long">
|
9
5
|
<div class="rack-webprofiler__wrapper">
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
<% @collectors.each do |name, collector| %>
|
7
|
+
<% if collector_has_tab?(collector, @collection) %>
|
8
|
+
<% status = collector_status(collector, @collection) %>
|
9
|
+
<div class="rack-webprofiler__item rack-webprofiler_collectors_<%=h name.to_s %>">
|
10
|
+
<% if collector_has_panel?(collector, @collection) %>
|
11
|
+
<a href="<%=h WebProfiler::Router.url_for_profiler(@collection.token, name) %>">
|
12
|
+
<% end %>
|
13
13
|
<% unless collector.icon.nil? %>
|
14
|
-
<i class="icn"><img alt="" src="<%= collector.icon %>" /></i>
|
14
|
+
<i class="icn"><img alt="" src="<%=h collector.icon %>" /></i>
|
15
15
|
<% end %>
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
<span class="rack-webprofiler__item__status-color <%=
|
16
|
+
<span class="rack-webprofiler__item__value">
|
17
|
+
<%= collector_tab(collector, @collection) %>
|
18
|
+
</span>
|
19
|
+
<span class="rack-webprofiler__item__status-color <%=h status.to_s %>"></span>
|
20
|
+
<% if collector_has_panel?(collector, @collection) %>
|
20
21
|
</a>
|
22
|
+
<% end %>
|
21
23
|
</div>
|
22
24
|
<% end %>
|
25
|
+
<% end %>
|
23
26
|
</div>
|
24
27
|
</div>
|