class MySQLExpectations::MySQL

The database_structure_file should be an XML file resulting from the mysqldump command:

mysqldump –xml –no-data –all-databases \

--host=#{env.host} --port=#{env.port} \
--user=#{env.username}

Public Class Methods

new(source) click to toggle source
# File lib/mysql_expectations/mysql.rb, line 17
def initialize(source)
  @doc = REXML::Document.new(source)
end

Public Instance Methods

database(name) click to toggle source
# File lib/mysql_expectations/mysql.rb, line 28
def database(name)
  query = "mysqldump/database[@name='#{name}']"
  database_element = @doc.elements[query]
  Database.new database_element if database_element
end
database?(name) click to toggle source
# File lib/mysql_expectations/mysql.rb, line 21
def database?(name)
  query = "mysqldump/database[@name='#{name}']"
  !@doc.elements[query].nil?
end
Also aliased as: has_database?
databases() click to toggle source
# File lib/mysql_expectations/mysql.rb, line 34
def databases
  query = 'mysqldump/database'
  databases = []
  @doc.elements.each(query) do |database_element|
    databases << Database.new(database_element)
  end
  databases
end
has_database?(name)
Alias for: database?
method_missing(method_sym, *arguments, &block) click to toggle source
Calls superclass method
# File lib/mysql_expectations/mysql.rb, line 43
def method_missing(method_sym, *arguments, &block)
  if arguments.empty? && block.nil?
    database_name = method_sym.to_s
    return database(database_name) if database?(database_name)
  end
  super
end
respond_to_missing?(method, *) click to toggle source
Calls superclass method
# File lib/mysql_expectations/mysql.rb, line 51
def respond_to_missing?(method, *)
  database?(method.to_s) || super
end