Class: Speedup::Middleware::SpeedupBody
- Inherits:
-
Object
- Object
- Speedup::Middleware::SpeedupBody
- Includes:
- Enumerable
- Defined in:
- lib/speedup/middleware.rb
Instance Method Summary collapse
- #bar_html ⇒ Object
- #body ⇒ Object
- #close ⇒ Object
- #each(*params, &block) ⇒ Object
-
#initialize(rack_body, redirects = []) ⇒ SpeedupBody
constructor
A new instance of SpeedupBody.
- #render_bar? ⇒ Boolean
- #respond_to?(method, include_private = false) ⇒ Boolean
- #to_a ⇒ Object
- #to_ary ⇒ Object
- #to_path ⇒ Object
Constructor Details
#initialize(rack_body, redirects = []) ⇒ SpeedupBody
Returns a new instance of SpeedupBody.
41 42 43 44 |
# File 'lib/speedup/middleware.rb', line 41 def initialize(rack_body, redirects=[]) @rack_body = rack_body @redirects = redirects end |
Instance Method Details
#bar_html ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/speedup/middleware.rb', line 89 def str = "#{styles}" + '<div id="speedup_rails_bar"></div>' + "<script>#{javascript}" + " loadRequestData('#{SpeedupRails::Engine.routes.url_helpers.result_path(Speedup.request.id)}');" @redirects.each_with_index do |req_id, idx| str << " loadRequestData('#{SpeedupRails::Engine.routes.url_helpers.result_path(req_id, redirect: idx)}');" end str << "if( typeof jQuery !== 'undefined' ) { jQuery(document).ajaxComplete(function(evt, xhr, settings){ var request_id = xhr.getResponseHeader('X-Request-Id'); if( request_id && !settings.url.match('#{SpeedupRails::Engine.routes.url_helpers.result_path('')}') ) loadRequestData('#{SpeedupRails::Engine.routes.url_helpers.result_path('REQUEST_ID')}'.replace('REQUEST_ID', request_id)); }); }" str << '</script>' str end |
#body ⇒ Object
60 61 62 |
# File 'lib/speedup/middleware.rb', line 60 def body @rack_body.body.sub(/<\/body>/, +'</body>') end |
#close ⇒ Object
64 65 66 |
# File 'lib/speedup/middleware.rb', line 64 def close @rack_body.close if @rack_body && @rack_body.respond_to?(:close) end |
#each(*params, &block) ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'lib/speedup/middleware.rb', line 50 def each(*params, &block) @rack_body.each do |response_row| if response_row =~ /<\/body>/ yield response_row.sub(/<\/body>/, +'</body>') else yield response_row end end end |
#render_bar? ⇒ Boolean
46 47 48 |
# File 'lib/speedup/middleware.rb', line 46 def any?{|row| row =~ /<\/body>/ } end |
#respond_to?(method, include_private = false) ⇒ Boolean
68 69 70 71 72 73 74 |
# File 'lib/speedup/middleware.rb', line 68 def respond_to?(method, include_private = false) if method.to_s == 'to_path' @rack_body.respond_to?(method) else super end end |
#to_a ⇒ Object
80 81 82 |
# File 'lib/speedup/middleware.rb', line 80 def to_a @rack_body.to_ary end |
#to_ary ⇒ Object
84 85 86 |
# File 'lib/speedup/middleware.rb', line 84 def to_ary to_a end |
#to_path ⇒ Object
76 77 78 |
# File 'lib/speedup/middleware.rb', line 76 def to_path @rack_body.to_path end |