Class: Profiler::Middleware::ToolbarInjector

Inherits:
Object
  • Object
show all
Defined in:
lib/profiler/middleware/toolbar_injector.rb

Constant Summary collapse

CLOSING_BODY_TAG =
"</body>"

Instance Method Summary collapse

Constructor Details

#initialize(body, token, nonce = nil) ⇒ ToolbarInjector

Returns a new instance of ToolbarInjector.



8
9
10
11
12
# File 'lib/profiler/middleware/toolbar_injector.rb', line 8

def initialize(body, token, nonce = nil)
  @body = body
  @token = token
  @nonce = nonce
end

Instance Method Details

#injectObject



14
15
16
17
18
19
20
21
22
# File 'lib/profiler/middleware/toolbar_injector.rb', line 14

def inject
  content = extract_content(@body)
  return @body unless content.include?(CLOSING_BODY_TAG)

  injected_content = content.sub(CLOSING_BODY_TAG, toolbar_html + CLOSING_BODY_TAG)

  # Return as array for Rack compatibility
  [injected_content]
end