Sha256: 6c284a1972249af03c0409d2ea06fc87e73278f9865e4219144db94cd7d70b12

Contents?: true

Size: 716 Bytes

Versions: 2

Compression:

Stored size: 716 Bytes

Contents

module Rails
  module Brochure
    class RouteReloader

      def initialize(app)
        @app = app
      end

      def call(env)
        reload_routes if new_content?
        @app.call(env)
      end

      def reload_routes
        # we must touch the routes file in order for it to be reloaded    
        FileUtils.touch("config/routes.rb")
        Rails.application.reload_routes!
        Rails.logger.info "ROUTES RELOADED by rails-brochure"
      end

      def new_content?
        return true if HomeContent.newest.nil? || last_route_change.nil?
        HomeContent.newest > last_route_change
      end

      def last_route_change
        File.mtime("config/routes.rb")
      end
      
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails-brochure-0.4 lib/rails-brochure/route_reloader.rb
rails-brochure-0.3 lib/rails-brochure/route_reloader.rb