Guest User

Untitled

a guest
Jul 20th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. class MyFilter
  2. class << self
  3. def method_missing(m_name, *ignore)
  4. new(m_name)
  5. end
  6. end
  7.  
  8. def initialize(bar)
  9. @bar = bar
  10. end
  11.  
  12. def filter(controller)
  13. insert_text controller, :before, /<\/body>/i, @bar
  14. end
  15.  
  16. private
  17. def insert_text(controller, position, pattern, new_text)
  18. index = if match = controller.response.body.match(pattern)
  19. match.offset(0)[position == :before ? 0 : 1]
  20. else
  21. controller.response.body.size
  22. end
  23. controller.response.body = controller.response.body.insert index, new_text
  24. end
  25. end
  26.  
  27. class ActionController::Base
  28. after_filter MyFilter.bar
  29. end
Add Comment
Please, Sign In to add comment