module DbObfuscation::Util::Trigger
Public Instance Methods
disable(table)
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 22 def disable(table) table == :all ? disable_triggers : disable_trigger(table) end
drop(table)
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 18 def drop(table) table == :all ? drop_triggers : drop_trigger(table) end
enable(table)
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 26 def enable(table) table == :all ? enable_triggers : enable_trigger(table) end
exists?(table)
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 30 def exists?(table) tables.include?(table.to_s) end
tables()
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 7 def tables query = <<-sql SELECT tables.relname as table_name FROM pg_trigger triggers, pg_class tables WHERE triggers.tgrelid = tables.oid AND tables.relname !~ '^pg_' AND triggers.tgname LIKE '#{prefix}%' sql DbObfuscation::DB[query].map(:table_name) end
Private Instance Methods
disable_trigger(table)
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 41 def disable_trigger(table) DbObfuscation::DB.run <<-sql ALTER TABLE #{table} DISABLE TRIGGER #{name(table)} sql end
disable_triggers()
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 35 def disable_triggers tables.each do |table| disable_trigger(table) end end
drop_trigger(table)
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 67 def drop_trigger(table) DbObfuscation::DB.run <<-sql DROP TRIGGER #{name(table)} ON #{table} sql end
drop_triggers()
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 61 def drop_triggers tables.each do |table| drop_trigger(table) end end
enable_trigger(table)
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 54 def enable_trigger(table) DbObfuscation::DB.run <<-sql ALTER TABLE #{table} ENABLE TRIGGER #{name(table)} sql end
enable_triggers()
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 48 def enable_triggers tables.each do |table| enable_trigger(table) end end
name(table)
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 78 def name(table) "#{prefix}#{table}" end
prefix()
click to toggle source
# File lib/db_obfuscation/util/trigger.rb, line 74 def prefix 'audit_' end