Loos
10 years ago
4 changed files with 76 additions and 8 deletions
@ -1,7 +0,0 @@ |
|||
# This file should contain all the record creation needed to seed the database with its default values. |
|||
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup). |
|||
# |
|||
# Examples: |
|||
# |
|||
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) |
|||
# Mayor.create(name: 'Emanuel', city: cities.first) |
@ -0,0 +1,69 @@ |
|||
namespace :db do |
|||
desc "Add some random sample data" |
|||
|
|||
task dummy_data: :environment do |
|||
puts "clearing users" |
|||
User.destroy_all |
|||
puts "clearing bikes" |
|||
Bike.destroy_all |
|||
puts "clearing clients" |
|||
Client.destroy_all |
|||
|
|||
def random_client |
|||
return { |
|||
first_name: Faker::Name.first_name, |
|||
last_name: Faker::Name.last_name, |
|||
application_date: rand(5.years).ago, |
|||
gender: ["male", "female"].sample, |
|||
age: rand(45) + 15, |
|||
weight: rand(100) + 100, |
|||
helmet: [true, false].sample, |
|||
lock: [true, false].sample, |
|||
agency: Faker::Company.name, |
|||
completion_date: rand(30.days).ago |
|||
} |
|||
end |
|||
|
|||
def random_bike |
|||
return { |
|||
entry_date: rand(3.years).ago, |
|||
brand: ["Windsor", "Schwinn", "Magna", "Fuji", "Cannondale", "Bianchi", "Jamis", "Felt"].sample, |
|||
model: Faker::Hacker.verb, |
|||
bike_type: ["Cruiser", "BMX", "Fixie", "Utility", "Road", "Hybrid", "Kids"].sample, |
|||
color: Faker::Commerce.color, |
|||
serial_number: Faker::Number.number(10), |
|||
notes: Faker::Lorem.sentence, |
|||
tag_info: Faker::Lorem.sentence, |
|||
completion_date: rand(100.days).ago, |
|||
price: rand(400) + 50, |
|||
seat_tube_size: rand(45), |
|||
top_tube_size: rand(45), |
|||
log_number: Faker::Number.number(8), |
|||
purpose: ["Sale", "Freecyclery"].sample, |
|||
mechanic: Faker::Name.first_name |
|||
} |
|||
end |
|||
|
|||
puts "creating a new user" |
|||
user = User.new(email: "user@example.com", password: "password").save |
|||
|
|||
puts "creating some clients" |
|||
10.times do |
|||
Client.new(random_client).save |
|||
end |
|||
|
|||
clients = Client.all |
|||
|
|||
puts "creating some bikes" |
|||
|
|||
30.times do |
|||
Bike.new(random_bike).save |
|||
end |
|||
bikes = Bike.all |
|||
|
|||
puts "assigning bikes to clients" |
|||
Client.all.each_with_index do |client, index| |
|||
client.update_attribute("bike_id", Bike.all[index].id) |
|||
end |
|||
end |
|||
end |
@ -1,4 +1,9 @@ |
|||
FactoryGirl.define do |
|||
factory :client do |
|||
factory :random_client do |
|||
first_name "John" |
|||
last_name "Doe" |
|||
application_date Date.new(2010, 03, 02) |
|||
gender "Male" |
|||
|
|||
end |
|||
end |
|||
|
Loading…
Reference in new issue