Advertisement
Guest User

Untitled

a guest
Apr 19th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. # lib/rails_routes_reloader.rb
  2.  
  3. class RailsRoutesReloader
  4. def initialize(app)
  5. @app = app
  6. end
  7.  
  8. def call(env)
  9. reload_routes_if_changed
  10. return *@app.call(env)
  11. end
  12.  
  13. private
  14. def reload_routes_if_changed
  15. routes_reloader.execute_if_updated
  16. end
  17.  
  18. def routes_reloader
  19. @routes_reloader ||= file_update_checker.new(rails_routes_files) { reload_routes }
  20. end
  21.  
  22. def file_update_checker
  23. ActiveSupport::FileUpdateChecker
  24. end
  25.  
  26. def rails_routes_files
  27. Pathname.new(Rails.root.join('config/routes/')).children
  28. end
  29.  
  30. def reload_routes
  31. Rails.application.reload_routes!
  32. end
  33. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement