Skip to content

Instantly share code, notes, and snippets.

@tsyber1an
Last active December 17, 2015 06:39
Show Gist options
  • Save tsyber1an/5567479 to your computer and use it in GitHub Desktop.
Save tsyber1an/5567479 to your computer and use it in GitHub Desktop.
Mongo rake helpers for testing
namespace :mongo do
task :prepare_fixtures do
fixtures_base = "spec/mongo/fixtures"
Dir.entries("#{fixtures_base}/coffeescript").each do |file|
if !['..', '.'].include?(file) and file.split('.')[1] == 'coffee'
system "coffee -b -o #{fixtures_base}/javascript -c #{fixtures_base}/coffeescript/#{file} "
end
end
end
task :fixtures, [:spec_file] => [:environment] do |t, args|
Rake::Task["mongo:prepare_fixtures"].invoke
config = Mongoid::Config.sessions['default']
address, database = config['hosts'].first, config['database']
fixtures_base = "spec/mongo/fixtures/javascript"
invoke_command = lambda {|file| "mongo --quiet #{address}/#{database} #{fixtures_base}/#{file}" }
if args[:spec_file]
puts "Load #{args[:spec_file]} from #{fixtures_base}"
system invoke_command.call(args[:spec_file])
else
puts "Load all fixtures from #{fixtures_base}"
Dir.entries(fixtures_base).each do |file|
if !['..', '.'].include?(file) and file.split('.')[1] == 'js'
system invoke_command.call(file)
end
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment