sample-profiles
3.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'
# turn on autoflush
STDOUT.sync = true
environment = Environment.default
places = [
{ :country=>'BR', :city=>'Salvador',
:lat=>-12.94032, :lng=>-38.58398 },
{ :country=>'BR', :city=>'São Paulo',
:lat=>-23.54894, :lng=>-46.63881 },
{ :country=>'BR', :city=>'Rio de Janeiro',
:lat=>-22.90353, :lng=>-43.20958 },
{ :country=>'AR', :city=>'Buenos Aires',
:lat=>-34.61088, :lng=>-58.39782 },
{ :country=>'AR', :city=>'Mar del Plata',
:lat=>-37.98317, :lng=>-57.59513 },
{ :country=>'MX', :city=>'Acapulco',
:lat=>16.86369, :lng=>-99.88151 },
{ :country=>'US', :city=>'Los Angeles',
:lat=>34.02307, :lng=>-118.24310 },
{ :country=>'IT', :city=>'Roma',
:lat=>41.89512, :lng=>12.48184 },
{ :country=>'IN', :city=>'Mumbai',
:lat=>19.01798, :lng=>72.85583 },
{ :country=>'CN', :city=>'Shanghai',
:lat=>31.23041, :lng=>121.47308 },
{ :country=>'JP', :city=>'Tokyo',
:lat=>35.68964, :lng=>139.69116 },
{ :country=>'FR', :city=>'Paris',
:lat=>48.85658, :lng=>2.351074 },
{ :country=>'BW', :city=>'Sowa',
:lat=>-20.56891, :lng=>26.22367 }
]
people = []
NAMES = %w[ José João Antonio Paulo Maria Joana Paula Angela ]
SURNAMES = %w[ Silva Santos Abreu Oliveira Machado Bonfim ]
print "Creating users: "
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
place = places[rand(places.length)]
user.person.data[:country] = place[:country]
user.person.city = place[:city]
user.person.lat = place[:lat] + (rand/100)-0.005
user.person.lng = place[:lng] + (rand/100)-0.005
user.person.save!
people << user.person
print '.'
end
end
puts ' done!'
print "Creating some friendships: "
rand(people.size * 3).times do
from = people.rand
to = people.rand
if from != to && !from.friends.include?(to)
AddFriend.create!(:requestor => to, :target => from).finish
end
print '.'
end
puts ' done!'
communities = []
VERBS = ['Save', 'I like', 'Use']
STUFF = ['Free Software', 'Organic food', 'the wales', 'the environment']
print "Creating communities: "
for verb in VERBS
for stuff in STUFF
name = [verb, stuff].join(' ')
community = Community.create!(:name => name, :environment => environment)
communities << community
rand(10).times do
community.add_member(people.rand)
end
print '.'
end
end
puts ' done!'
EVENTS = ['International Conference on %s', '%s day', '%s World Congress', '%s World Forum', '%s Summit', '%s Week']
THEMES = ['Sustainability', 'Free Software', 'Climate Change', 'Environment', 'Agile Development', 'Solidarity Economy']
print "Creating some events: "
for event in EVENTS
for theme in THEMES
Event.create!(:name => event % theme, :profile => communities.rand, :start_date => Date.today + (-30 + rand(60)).days)
print '.'
end
end
puts ' done!'
ze = User.create!({
:login => "ze",
:email => 'root@localhost.localdomain',
:password => 'test',
:password_confirmation => 'test',
:environment => environment,
}).person
environment.add_admin(ze)
admin = User.create!({
:login => "adminuser",
:email => 'adminuser@localhost.localdomain',
:password => 'admin',
:password_confirmation => 'admin',
:environment => environment,
}).person
environment.add_admin(admin)