module ActivePgLog::ActiveLog
Public Class Methods
create_log_ddl_trigger(clazz)
click to toggle source
# File lib/active_pg_log/active_log.rb, line 22 def create_log_ddl_trigger(clazz) %( drop trigger if exists trigger_log_#{clazz.table_name}_insert_update on #{clazz.table_name} cascade; CREATE TRIGGER trigger_log_#{clazz.table_name}_insert_update after insert or update on #{clazz.table_name} for each row execute procedure public.active_pg_loging(); ) end
included(clazz)
click to toggle source
# File lib/active_pg_log/active_log.rb, line 4 def self.included(clazz) @active_trigger = ActivePgLog::ActiveTrigger.new return if @active_trigger.include?("trigger_log_#{clazz.table_name}_insert_update", clazz.table_name) ActiveRecord::Base.connection.execute(create_log_ddl_trigger(clazz)) end
Public Instance Methods
disable_log_ddl_trigger()
click to toggle source
# File lib/active_pg_log/active_log.rb, line 12 def disable_log_ddl_trigger ActiveRecord::Base.connection.execute("drop trigger if exists trigger_log_#{self.class.table_name}_insert_update on #{self.class.table_name} cascade;") nil end
pg_logs()
click to toggle source
# File lib/active_pg_log/active_log.rb, line 17 def pg_logs ActivePgLogTable.where(table_name: self.class.table_name) end