Sha256: 6414d4f74544df330ce7f112fe2c09f64b8ddedc64033a49a7b68f2153fc46b1
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
namespace :dm do namespace :fixtures do require 'yaml' def fixtures_path return ENV['FIXTURE_PATH'] if ENV['FIXTURE_PATH'] %w(db dev schema spec).find do |parent| test_for_dir = "#{DM_APP_ROOT}/#{parent}/fixtures" File.exists?(test_for_dir) ? test_for_dir : nil end end desc 'Dump database fixtures' task :dump do directory fixtures_path puts DataMapper::Base.subclasses.join("\n") DataMapper::Base.subclasses.each do |table| puts "Dumping #{table}" File.open( "#{fixtures_path}/#{table.to_s.underscore}.yml", "w") do |f| f.write YAML::dump(table.all.map{|r| r.attributes}) end end end desc 'Load database fixtures' task :load do directory fixtures_path DataMapper::Base.subclasses.each do |table| file_name = "#{fixtures_path}/#{table.to_s.underscore}.yml" next unless File.exists?( file_name ) puts "Loading #{table}" table.delete_all File.open( file_name, "r") do |f| YAML::load(f).each do |attrs| table.create attrs end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
datamapper-0.2.0 | tasks/fixtures.rb |