Rails 3.2 – Application Controller + Devise Current_user Issue-Collection of common programming errors

I have two roles defined in my User Model:

User.role == admin
or
User.role == basic

In my Application Controller:

include MobilizedController

In lib/mobilized_controller.rb:

module MobilizedController
  extend ActiveSupport::Concern

  included do
    before_filter :set_basic_request, :if => :basic_logged_in?
  end 

  private

  def set_basic_request
    request.format = :basic
    prepend_view_path "app/views/basic"
  end 

  def basic_logged_in?
    current_user.role == 'basic'
  end 
end

This is all fine when I am logged in, it sets the Mime Type correctly and renders my basic views. Unfortunately, when I’m not logged in I get:

Undefined method ‘role’ for nil:NilClass

which I guess means that the current_user is not set, and thus calling nil on it won’t work.

Does anyone have any suggestion for this? I need to be able to render the default log in page if a user is not logged in, and then set the Mime Type on login.

Any help?