This gem helps you providing whitelabel functionality in your application.


Add this line to your application's Gemfile:

gem 'whitelabel'

And then execute:

$ bundle

Or install it yourself as:

$ gem install whitelabel


You can start with a pretty simple, file driven whitelabel configuration.

All you need is a config file:

# config/whitelabel.yaml
- !ruby/struct:YourLabelClass
  label_id: "white"
  some_config: "for your application"

and an initializer:

# config/initializers/whitelabel.rb
YourLabelClass = Struct.new :label_id, :some_config
Whitelabel.from_file Rails.root.join("config/whitelabel.yml")

Whitelabel works the same way I18n does, just set it up in your ApplicationController:

# app/controllers/application_controller.rb
before_filter :switch_label

def switch_label
  unless Whitelabel.label_for(request.subdomains.first)
    redirect_to(labels_url(subdomain: false), alert: "Please select a Label!")

This example uses the subdomain to determine which label should be active, but you can implement whatever you like here.


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