Module: ActiveRecord::ConnectionAdapters::TriggerFunc

Included in:
Mysql2Adapter, MysqlAdapter
Defined in:
lib/trackless_triggers.rb

Instance Method Summary collapse

Instance Method Details

#functions(name = nil) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/trackless_triggers.rb', line 61

def functions(name = nil)
  function_names = []
  functions = []

  #config = Rails::Application.config
  #config.database_configuration[RAILS_ENV]["database"]
  dbname = ActiveRecord::Base.configurations[Rails.env]['database'] 

  execute("SHOW FUNCTION STATUS WHERE DB='#{dbname}'").each do |row|
    func_info = FunctionInfoDefinition.new(*row)
    function_names << func_info.name
  end

  function_names.each do |name|
    execute("SHOW CREATE FUNCTION #{name}").each do |row|
      functions << FunctionDefinition.new(*row)
    end
  end

  functions
end

#triggers(table, name = nil) ⇒ Object



52
53
54
55
56
57
58
59
# File 'lib/trackless_triggers.rb', line 52

def triggers(table, name = nil)
  triggers = []
  execute("SHOW TRIGGERS LIKE '#{table}'", name).each do |row|
    triggers <<  TriggerDefinition.new(*row)
  end

  triggers
end