Rack::EnvNotifier Build Status

Code Climate Dependency Status Gem Version

Middleware that displays the custom notification for every html page. Designed to work both in production and in development.

alt tag

alt tag

alt tag

alt tag

alt tag

alt tag

alt tag

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

This Gem can display a custom notification on every html page. This can be configured like this:

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 uses #env-notifer CSS ID. This can be customized, using custom CSS.

To disable default CSS and use custom configure the initializer:

Rack::EnvNotifier.custom_css = true

And define 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.message = "development mode"

For Ruby on Rails, by default the message it will be the name of the current environment. This can be overriden like so:

case Rails.env
when "development"
  Rack::EnvNotifier.message = "safe environment"
when "staging"
  Rack::EnvNotifier.message = "qa environment"
else
  Rack::EnvNotifier.message = "hot environment"
end

Rails

Here is a sample initializer:

if Rails.env.development?
  Rack::EnvNotifier.notify = true
  Rack::EnvNotifier.message = 'Dev'
end

Contributing

Thanks to our contributors.

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Inspired by harleyttd / miniprofiler