Sha256: 36a5f30792a3c3e7d61bb0b3bf1810fc3d771c99c6a8298e4098cf6274812514

Contents?: true

Size: 474 Bytes

Versions: 3

Compression:

Stored size: 474 Bytes

Contents

module MaintenanceMode
  class Middleware
    def initialize(app)
      @app = app
    end

    def call(env)
      if maintenance_mode?
        [503, { 'Content-Type' => 'text/html' }, [maintenance_page]]
      else
        @app.call(env)
      end
    end

    private

    def maintenance_mode?
      File.exist?(Rails.root.join('tmp', 'maintenance.yml'))
    end

    def maintenance_page
      File.read(Rails.root.join('public', 'maintenance.html'))
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
maintenance_mode_simple-0.1.2 lib/maintenance_mode/middleware.rb
maintenance_mode_simple-0.1.1 lib/maintenance_mode/middleware.rb
maintenance_mode_simple-0.1.0 lib/maintenance_mode/middleware.rb