Rack::EnvNotifier
Middleware that displays a custom notification for every HTML page. It's designed to work both in production and development.
Installation
Add this line to your application's Gemfile:
gem 'rack-env-notifier'
And then execute:
$ bundle
Or install it yourself as:
$ gem install rack-env-notifier
Usage
For Rails add use the middleware in application.rb:
config.middleware.use Rack::EnvNotifier
Rack::EnvNotifier can display a custom notification on every html page. It can be configured:
Rack::EnvNotifier.notify = Rails.env.production?
or
Rack::EnvNotifier.notify = true if ["12.34.56.78", "127.0.0.1"].include?(request.remote_ip)
There are several configuration options
Position on screen
The notification message is wrapped by #env-notifer
CSS ID. This can be customized using custom CSS.
To disable default CSS and use a custom one, configure the initializer:
Rack::EnvNotifier.custom_css = true
and define the custom CSS:
#env-notifier {
font-size: 16px;
}
/* Rack::EnvNotifier.message = 'development' */
#env-notifier.development {
background: #369;
color: #fff;
}
/* Rack::EnvNotifier.message = 'watch out! production environment!!!' */
#env-notifier.watch-out-production-environment {
background: #8a0000;
color: #fff;
font-weight: bold;
}
Notification message
Rack::EnvNotifier. = "development mode"
The default message is configured in the initializer:
case Rails.env
when "development"
Rack::EnvNotifier. = "safe environment"
when "staging"
Rack::EnvNotifier. = "qa environment"
else
Rack::EnvNotifier. = "hot environment"
end
Rails Sample Initializer
if Rails.env.development?
Rack::EnvNotifier.notify = true
Rack::EnvNotifier. = 'Dev'
end
Preview
Contributing
Thanks to our contributors.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request