Guest User

Untitled

a guest
Mar 13th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. namespace :db do
  2.  
  3. desc "Borra y llena la base de datos"
  4.  
  5. task :populate => :environment do
  6.  
  7. require 'populator'
  8.  
  9. require 'faker'
  10.  
  11. require 'authlogic'
  12.  
  13.  
  14.  
  15. # limpiamos primero nuestra base de datos
  16.  
  17. [Product, User].each(&:delete_all)
  18.  
  19.  
  20.  
  21. User.populate 10 do |user|
  22.  
  23.  
  24.  
  25. salt = Authlogic::Random.hex_token
  26.  
  27. token = Authlogic::Random.hex_token
  28.  
  29. password = Authlogic::CryptoProviders::Sha512.encrypt(salt)
  30.  
  31.  
  32.  
  33. user.username = Faker::Name.first_name
  34.  
  35. user.email = Faker::Internet.email
  36.  
  37. user.crypted_password = password
  38.  
  39. user.password_salt = salt
  40.  
  41. user.persistence_token = token
  42.  
  43.  
  44.  
  45. # ubico esto aquí, por que hay una asociación entre los
  46.  
  47. # productos y los usuarios, entonces voy a necesitar un
  48.  
  49. # user_id para cada producto.
  50.  
  51.  
  52.  
  53. Product.populate 5..15 do |product|
  54.  
  55. product.user_id = user.id
  56.  
  57. product.name = Populator.words(1).titleize
  58.  
  59. product.description = Populator.sentences(2..5)
  60.  
  61. product.price = [4.99, 19.95, 100, 150, 2, 25.99]
  62.  
  63. product.created_at = 2.years.ago..Time.now
  64.  
  65. end
  66.  
  67.  
  68.  
  69. end
  70.  
  71.  
  72.  
  73. # como habrán visto, hemos creado usuarios con nombres aleatorios
  74.  
  75. # y password aleatorios, para tener un usuario de prueba, modifico
  76.  
  77. # uno cualquiera de la base de datos y le asigno el nombre "admin"
  78.  
  79. # y el password super seguro "1234"
  80.  
  81.  
  82.  
  83. user = User.find(5)
  84.  
  85. user.username = "admin"
  86.  
  87. user.password = "1234"
  88.  
  89. user.save(false)
  90.  
  91. puts "#{user.username} with password = 1234"
  92.  
  93. end
  94.  
  95. end
Add Comment
Please, Sign In to add comment