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.
Files changed (38) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +7 -17
  3. data/lib/rack/templates/assets/css/profiler.css +1 -1
  4. data/lib/rack/templates/assets/css/rwpt.css +1 -1
  5. data/lib/rack/templates/assets/sass/_highlight.scss +63 -0
  6. data/lib/rack/templates/assets/sass/_variables.scss +1 -0
  7. data/lib/rack/templates/assets/sass/profiler.scss +1 -1
  8. data/lib/rack/templates/assets/sass/rwpt.scss +27 -9
  9. data/lib/rack/templates/async.erb +8 -8
  10. data/lib/rack/templates/panel/_sidebar.erb +3 -23
  11. data/lib/rack/templates/panel/index.erb +18 -6
  12. data/lib/rack/templates/panel/layout.erb +9 -5
  13. data/lib/rack/templates/panel/show.erb +25 -7
  14. data/lib/rack/templates/profiler.erb +15 -12
  15. data/lib/rack/web_profiler/collector/rack/request_collector.rb +38 -35
  16. data/lib/rack/web_profiler/collector/ruby_collector.rb +9 -7
  17. data/lib/rack/web_profiler/collector/time_collector.rb +2 -2
  18. data/lib/rack/web_profiler/collector/view.rb +44 -0
  19. data/lib/rack/web_profiler/collector.rb +29 -16
  20. data/lib/rack/web_profiler/config.rb +0 -10
  21. data/lib/rack/web_profiler/controller.rb +69 -64
  22. data/lib/rack/web_profiler/engine.rb +15 -6
  23. data/lib/rack/web_profiler/model/collection_record.rb +1 -0
  24. data/lib/rack/web_profiler/request.rb +5 -1
  25. data/lib/rack/web_profiler/router.rb +1 -1
  26. data/lib/rack/web_profiler/version.rb +1 -1
  27. data/lib/rack/web_profiler/view.rb +236 -0
  28. data/lib/rack/web_profiler.rb +34 -17
  29. data/rack-webprofiler.gemspec +1 -0
  30. metadata +19 -10
  31. data/lib/rack/web_profiler/auto_configure/rails.rb +0 -12
  32. data/lib/rack/web_profiler/collector/rails/active_record_collector.rb +0 -25
  33. data/lib/rack/web_profiler/collector/rails/logger_collector.rb +0 -22
  34. data/lib/rack/web_profiler/collector/rails/rails_collector.rb +0 -25
  35. data/lib/rack/web_profiler/collector/rails/request_collector.rb +0 -50
  36. data/lib/rack/web_profiler/collector/sinatra/request_collector.rb +0 -216
  37. data/lib/rack/web_profiler/collector/sinatra/sinatra_collector.rb +0 -25
  38. 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
- NDkzNDYxNzVmNWE3MTRhMjIyMzc5NWNhZjVkNWY1OWQ1NmVhZjcyYg==
4
+ NzE0ZmJhYzk5Yjc0YzM0OTIxZjIzYzUzNjE4NzA1MzYwMDYyNzNkZQ==
5
5
  data.tar.gz: !binary |-
6
- MWVlNjMwZjNmYjU0OTQwYTlhMDlmOGFlZjgxZDQ5NWNhOWVmZjZiYg==
6
+ MTUxNjM4MTQ2YmM4YTU2N2Y2ODZhNTg2ZDg2NmE3NjlkN2FjNjVkZg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YWI3NTY5YjBhMGQ0MzhjYmE4OTNhMDAxYmE0YzNmNjBlZThhYTU1ZDU5M2Q0
10
- NWE1ZWQ1YmI3MTM0MTJhNzIxNGE5OTQ4NzIwZDU2MjZjODdiMTcwZjJlZWM5
11
- MGZjZGViOGNiZjY2YWNmZTZjZTQ1OTU3OTZmZmVkMjQyNmI1MGI=
9
+ N2M4MDYyNDFhOTJiMzNjNmQ3NjFiNDE0ZmQyODViNmViZTdlZWYzYjdmNTZl
10
+ NzcwMjE4NjI1ODBkOTg4OGViZDA4NGViYmY1NzI0ZjBlZTQ4NjRkM2VlZmE2
11
+ MjJjYjk0OWVhOTg0ZWY0ZGQ4NTZjZjcwYmU1ZGUyMGJhZjMxYWI=
12
12
  data.tar.gz: !binary |-
13
- MWU5Y2JmZWQwNmUyZDNkZjM0ZGMyNmUyNjBmODc2OWE5YmIyYjBhOTM3ZDk2
14
- YWNmNWYwMDAxZGM3ZjZjMmIzNjRiNmMyNGY5MzE5NDg4NmM4ZTYxMmY0ZWRm
15
- OWIxNzM0ZjcwNTNmNDhhMjVlYzdiZjFmYjc1YjM2NjQxOTRmMzU=
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:46px;/*! 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
+ @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 .block{margin-bottom:35px}#rack-webprofiler .block h1{margin-bottom:25px;text-align:left;text-transform:none;font-family:"Open Sans";font-weight:700;font-size:1.125em;color:#1c1f33}#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}#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% - 162px);height:100%;float:left}#rack-webprofiler #sidebar{width:162px;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}
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;
@@ -7,7 +7,7 @@
7
7
  left: 0;
8
8
  bottom: 0;
9
9
  font-family: $fonts;
10
- height: 46px;
10
+ height: 45px;
11
11
 
12
12
  @include normalize;
13
13
 
@@ -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
- .block {
32
- margin-bottom: 35px;
33
- }
34
- .block h1 {
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% - 162px);
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: 162px;
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
- <% unless @collectors.nil? %>
14
- <% @collectors.each do |_k, collector| %>
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('%Y-%m-%d %H:%M:%S') %></span></td>
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><a href="<%= !@collection.nil? ? @collection.url : nil %>"><%= !@collection.nil? ? @collection.url : nil %></a></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
- <% unless @collection.nil? %>
30
- <%= partial 'profiler.erb' %>
33
+ <% if content_for? :toolbar %>
34
+ <%= yield_content :toolbar %>
31
35
  <% end %>
32
36
  </body>
33
37
  </html>
@@ -1,8 +1,26 @@
1
- <%
2
- datas = @collection.datas
3
- token = @collection.token
4
- %>
5
- <div class="">
6
- <% render_collector(@collector, datas[@collector.name.to_sym][:datas]) %>
7
- <%= content_for :panel %>
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
- <% @collectors.each do |name, collector| %>
11
- <div class="rack-webprofiler__item rack-webprofiler_collectors_<%= name %>">
12
- <a href="<%= WebProfiler::Router.url_for_profiler(token, name) %>">
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
- <% render_collector(collector, datas[name.to_sym][:datas]) %>
18
- <span class="rack-webprofiler__item__value"><%= content_for :tab %></span>
19
- <span class="rack-webprofiler__item__status-color <%= datas[name.to_sym][:status] %>"></span>
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>