Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace :db do
- desc "Borra y llena la base de datos"
- task :populate => :environment do
- require 'populator'
- require 'faker'
- require 'authlogic'
- # limpiamos primero nuestra base de datos
- [Product, User].each(&:delete_all)
- User.populate 10 do |user|
- salt = Authlogic::Random.hex_token
- token = Authlogic::Random.hex_token
- password = Authlogic::CryptoProviders::Sha512.encrypt(salt)
- user.username = Faker::Name.first_name
- user.email = Faker::Internet.email
- user.crypted_password = password
- user.password_salt = salt
- user.persistence_token = token
- # ubico esto aquí, por que hay una asociación entre los
- # productos y los usuarios, entonces voy a necesitar un
- # user_id para cada producto.
- Product.populate 5..15 do |product|
- product.user_id = user.id
- product.name = Populator.words(1).titleize
- product.description = Populator.sentences(2..5)
- product.price = [4.99, 19.95, 100, 150, 2, 25.99]
- product.created_at = 2.years.ago..Time.now
- end
- end
- # como habrán visto, hemos creado usuarios con nombres aleatorios
- # y password aleatorios, para tener un usuario de prueba, modifico
- # uno cualquiera de la base de datos y le asigno el nombre "admin"
- # y el password super seguro "1234"
- user = User.find(5)
- user.username = "admin"
- user.password = "1234"
- user.save(false)
- puts "#{user.username} with password = 1234"
- end
- end
Add Comment
Please, Sign In to add comment