0.01
No commit activity in last 3 years
No release in over 3 years
track 'current_user' et all in a tidy, global, and thread-safe fashion for your rails apps
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 6.0
 Project Readme

rails_current

DESCRIPTION

track current_user et all in a tidy, global, and thread-safe fashion.

SYNOPSIS

most rails apps scatter a bunch of @current_foobar vars everywhere. don't do that. it's fugly. instead, do this.

declare the current_XXX variables you'll want tracked. you can pass a block for lazy computation

class ApplicationController

  Current(:user){ User.find session[:current_user }
  Current(:account)

end

you can now access the current state two ways

  • globally from anywhere in your code base
    if Current.user
    
      ...
    
    end
    
    Current.user = User.find(id)
    
  • using the current_ methods that are added by including the Current module into any class (ActionController::Base and ActionView::Base automatically include it)
    if current_user
    
      ...
    
    end
    
    self.current_user = User.find(id)
    

the Current module is cleared out before every request and is thread safe.

INSTALL

gem install rails_current


gem 'rails-current', :require => 'current'

bundle install