Created
April 4, 2009 00:33
Revisions
-
edavis10 revised this gist
Apr 4, 2009 . 1 changed file with 7 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,10 @@ # Still a work in progress but is good enough for development # # `rake redmine:demo_data` for it all # `rake redmine:demo_data:users` # `rake redmine:demo_data:projects` # `rake redmine:demo_data:issues` # `rake redmine:demo_data:time_entries` require 'faker' require 'random_data' -
edavis10 created this gist
Apr 4, 2009 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,100 @@ require 'faker' require 'random_data' namespace :redmine do desc "Add a set of demo data" task :demo_data => [:environment, 'demo_data:users', 'demo_data:projects', 'demo_data:issues', 'demo_data:time_entries'] do # no op end namespace :demo_data do desc "Add up to 250 random issues" task :issues => :environment do projects = Project.find(:all) status = IssueStatus.find(:all) priorities = Enumeration.priorities users = User.find(:all) (1..250).each do Issue.create( :tracker => Tracker.find(:first), :project => projects.rand, # from faker gem :subject => Faker::Company.catch_phrase, :description => Random.paragraphs(3), :status => status.rand, :priority => priorities.rand, :author => users.rand, :assigned_to => users.rand ) end puts "#{Issue.count} issues total" end desc "Add up to 5 random users" task :users => :environment do status = [User::STATUS_ACTIVE, User::STATUS_REGISTERED, User::STATUS_LOCKED] (1..5).each do user = User.new( :firstname => Faker::Name.first_name, :lastname => Faker::Name.last_name, :mail => Faker::Internet.free_email, :status => status.rand ) # Protected from mass assignment user.login = Faker::Internet.user_name user.password = 'demo' user.password_confirmation = 'demo' user.save end puts "#{User.count} users total" end desc "Add up to 5 random projects" task :projects => :environment do (1..5).each do project = Project.create( :name => Faker::Internet.domain_word, :description => Faker::Company.bs, :homepage => Faker::Internet.domain_name, :identifier => Faker::Internet.domain_word ) project.trackers = Tracker.find(:all) project.save end puts "#{Project.count} projects total" end desc "Add up to 250 random time entries" task :time_entries => :environment do users = User.find(:all) projects = Project.find(:all) issues = Issue.find(:all) activities = Enumeration.activities (1..250).each do issue = issues.rand TimeEntry.create( :project => issue.project, :user => users.rand, :issue => issue, :hours => (1..20).to_a.rand, :comments => Faker::Company.bs, :activity => activities.rand, :spent_on => Random.date ) end puts "#{TimeEntry.count} time entries total" end end end