rails_big_brother/lib/rails_big_brother.rb

57 lines
995 B
Ruby

require "rails_big_brother/version"
require "rails_big_brother/controller"
require "rails_big_brother/model"
module RailsBigBrother
def format=(value)
@format = value
end
def format
@format ||= "%<big_brother>s;%<user>s;%<controller_info>s;%<class>s;%<id>s;%<action>s;%<args>s"
end
def user=(value)
store[:user] = value
end
def user
store[:user]
end
def controller_info=(value)
store[:controller_info] = value
end
def controller_info
store[:controller_info]
end
def controller_info_string
case controller_info
when Array
controller_info.join(',')
when Hash
controller_info.map { |k,v| "#{k}:#{v}" }.join(',')
else
controller_info
end
end
private
def store
Thread.current[:big_brother_log] ||= {}
end
extend self
end
ActiveSupport.on_load(:active_record) do
include RailsBigBrother::Model
end
ActiveSupport.on_load(:action_controller) do
include RailsBigBrother::Controller
end