rosa-build/app/models/event_log.rb

36 lines
958 B
Ruby

class EventLog < ActiveRecord::Base
belongs_to :user
belongs_to :eventable, polymorphic: true
# self.per_page = 1
scope :eager_loading, -> { preload(:user) }
scope :default_order, -> { order(id: :desc) }
before_create do
self.user_name = user.try(:uname) || 'guest'
self.eventable_name ||= eventable.name if eventable.respond_to?(:name)
end
# after_create { self.class.current_controller = nil }
class << self
def create_with_current_controller(attributes)
create(attributes) do |el|
el.user = current_controller.current_user
el.ip = current_controller.request.remote_ip
el.controller = current_controller.class.to_s
el.action = current_controller.action_name
el.protocol = 'web'
end
end
def current_controller
Thread.current[:current_controller]
end
def current_controller=(ctrl)
Thread.current[:current_controller] = ctrl
end
end
end