class Mysqlaudit::Actions

Public Class Methods

new(options = {}) click to toggle source
# File lib/mysqlaudit/actions.rb, line 7
def initialize(options = {})
  options.delete_if { |k, v| v.nil? }
  $options = {host: 'localhost', user: 'root', password: ''}.merge(options)

  @audit = Mysqlaudit::Audit.new($options[:host],
                                 $options[:user],
                                 $options[:password],
                                 $options[:schema])
end

Public Instance Methods

install() click to toggle source
# File lib/mysqlaudit/actions.rb, line 17
def install()
  @audit.create_table()

  if !$options[:table]
    tables = @audit.get_tables()
    tables.each do | table |
      @audit.create_trigger(table, :insert)
      @audit.create_trigger(table, :update)
      @audit.create_trigger(table, :delete)
    end
  else
    @audit.create_trigger($options[:table], :insert)
    @audit.create_trigger($options[:table], :update)
    @audit.create_trigger($options[:table], :delete)
  end
end
rollback() click to toggle source
# File lib/mysqlaudit/actions.rb, line 53
def rollback()
  @audit.rollback($options[:table], $options[:statement])
end
uninstall() click to toggle source
# File lib/mysqlaudit/actions.rb, line 34
def uninstall()
  if !$options[:table]
    tables = @audit.get_tables()
    tables.each do | table |
      @audit.drop_trigger(table, :insert)
      @audit.drop_trigger(table, :update)
      @audit.drop_trigger(table, :delete)
    end
  else
      @audit.drop_trigger($options[:table], :insert)
      @audit.drop_trigger($options[:table], :update)
      @audit.drop_trigger($options[:table], :delete)
  end

  if $options[:drop]
    @audit.drop_table()
  end
end