lib/rack/tracker/handler.rb in rack-tracker-1.2.0 vs lib/rack/tracker/handler.rb in rack-tracker-1.3.0
- old
+ new
@@ -21,9 +21,19 @@
def render
raise NotImplementedError.new('needs implementation')
end
+ def inject(response)
+ # Sub! is enough, in well formed html there's only one head or body tag.
+ # Block syntax need to be used, otherwise backslashes in input will mess the output.
+ # @see http://stackoverflow.com/a/4149087/518204 and https://github.com/railslove/rack-tracker/issues/50
+ response.sub! %r{</#{self.position}>} do |m|
+ self.render << m.to_s
+ end
+ response
+ end
+
def self.track(name, event)
raise NotImplementedError.new("class method `#{__callee__}` is not implemented.")
end
end