rack-webprofiler 0.1.0.pre.beta1 → 0.1.0.pre.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>