Skip to content

Instantly share code, notes, and snippets.

@mr-dxdy
Created March 11, 2014 07:03

Revisions

  1. mr-dxdy created this gist Mar 11, 2014.
    32 changes: 32 additions & 0 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,32 @@
    # install devise
    # rails generate devise user
    # rails g scaffold task name:string description:text

    class ApplicationController < ActionController::Base
    before_filter :authenticate_user!
    around_filter :set_current_user_for_thread

    protect_from_forgery

    protected
    def set_current_user_for_thread
    Thread.current[:current_user] = current_user
    begin
    yield
    ensure
    Thread.current[:current_user] = nil
    end
    end
    end

    class BaseObserver < ActiveRecord::Observer
    def current_user
    Thread.current[:current_user]
    end
    end

    class TaskObserver < BaseObserver
    def after_create(task)
    puts "#{current_user.email} created #{task.name}"
    end
    end