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
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