class Kibutsu::FixtureWorld
Singleton class that holds all the information about fixtures and fixture tables. This class really ties whole the gem together.
Attributes
database_connection[R]
fixture_tables[R]
fixtures_path[R]
Public Instance Methods
find_table(table_name)
click to toggle source
# File lib/kibutsu/fixture_world.rb, line 36 def find_table(table_name) @fixture_tables.find { |table| table.name == table_name } end
load(database_connection_url, fixtures_path)
click to toggle source
# File lib/kibutsu/fixture_world.rb, line 13 def load(database_connection_url, fixtures_path) @database_connection = Kibutsu::DatabaseConnection.new( database_connection_url ) load_fixtures(fixtures_path) database_connection.insert_fixture_tables(tables_without_dependencies) ensure database_connection.disconnect end
load_fixtures(fixtures_path)
click to toggle source
# File lib/kibutsu/fixture_world.rb, line 24 def load_fixtures(fixtures_path) initialize_empty_fixture_tables fill_fixture_table_information fixture_file_paths = FixtureFinder.new(fixtures_path).fixture_file_paths fixture_file_paths.each do |fixture_file_path| FixtureLoader.new( fixture_file_path, database_connection ).load_fixture_tables end end
Private Instance Methods
fill_fixture_table_information()
click to toggle source
# File lib/kibutsu/fixture_world.rb, line 52 def fill_fixture_table_information @fixture_tables.each do |fixture_table| fixture_table.column_names = database_connection.column_names(fixture_table.name) fixture_table.foreign_key_columns = database_connection.foreign_key_columns(fixture_table.name) end end
initialize_empty_fixture_tables()
click to toggle source
# File lib/kibutsu/fixture_world.rb, line 46 def initialize_empty_fixture_tables @fixture_tables = database_connection.table_names.map do |table_name| FixtureTable.new(table_name.to_s) end end
tables_without_dependencies()
click to toggle source
# File lib/kibutsu/fixture_world.rb, line 61 def tables_without_dependencies @fixture_tables.select { |table| table.foreign_key_target_tables.none? } end