sample-data 1.77 KB
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'


environment_id = ARGV.first
environment = nil
if environment_id
  environment = Environment.find(environment_id)
else
  system('rake db:populate')
  environment = Environment.default
end

people = []

NAMES = %w[ José João Antonio Paulo Maria Joana Paula Angela ]
SURNAMES = %w[ Silva Santos Abreu Oliveira Machado Bonfim  ]
print "Creating users: "; $stdout.flush
for name in NAMES
  for surname in SURNAMES
    full_name = [name, surname].join(' ')
    user = User.create!({
      :login => full_name.to_slug,
      :email => full_name.to_slug + '@localhost.localdomain',
      :password => 'test',
      :password_confirmation => 'test',
      :environment => environment,
    })
    user.person.name = full_name
    user.person.save!
    people << user.person

    print '.'; $stdout.flush
  end
end
puts

print "Creating some friendships: "; $stdout.flush
rand(people.size * 3).times do
  from = people.rand
  to = people.rand
  if from != to && !from.friends.include?(to)
    from.add_friend(to)
  end
  print '.'; $stdout.flush
end
puts


VERBS = ['Save', 'I like', 'I hate', 'Use']
STUFF = ['Free Software', 'Organic food', 'the wales', 'the environment', 'Barack Obama', 'Osama Bin Laden', 'Lula']
print "Creating communities: "; $stdout.flush
for verb in VERBS
  for stuff in STUFF
    name = [verb, stuff].join(' ')
    community = Community.create!(:name => name, :environment => environment)
    rand(10).times do
      community.add_member(people.rand)
    end
    print '.'; $stdout.flush
  end
end
puts

ze = User.create!({
  :login => "ze",
  :email => 'root@localhost.localdomain',
  :password => 'test',
  :password_confirmation => 'test',
  :environment => environment,
}).person
environment.add_admin(ze)