Show More
Commit Description:
force log out when password change
Commit Description:
force log out when password change
References:
File last commit:
Show/Diff file:
Action:
lib/tasks/fixtures.rake | 41 lines | 1.2 KiB | text/x-ruby | RubyLexer |
# Original from http://snippets.dzone.com/posts/show/4468 by MichaelBoutros
#
# Optimized version which uses to_yaml for content creation and checks
# that models are ActiveRecord::Base models before trying to fetch
# them from database.
namespace :db do
namespace :fixtures do
desc 'Dumps all models into fixtures.'
task :dump => :environment do
puts "rails root = #{Rails.root}"
models = Dir.glob(Rails.root.to_s + '/app/models/**.rb').map do |s|
Pathname.new(s).basename.to_s.gsub(/\.rb$/,'').camelize
end
puts "Found models: " + models.join(', ')
models.each do |m|
model = m.constantize
next unless model.ancestors.include?(ActiveRecord::Base)
puts "Dumping model: " + m
entries = model.all.order(id: :asc)
increment = 1
model_file = Rails.root.to_s + '/test/fixtures2/' + m.underscore.pluralize + '.yml'
File.open(model_file, 'w') do |f|
entries.each do |a|
attrs = a.attributes
attrs.delete_if{|k,v| v.blank?}
output = {m + '_' + increment.to_s => attrs}
f << output.to_yaml.gsub(/^--- \n/,'') + "\n"
increment += 1
end
end
end
end
end
end