/db/seeds.rb

https://github.com/makevoid/rankey · Ruby · 87 lines · 71 code · 16 blank · 0 comment · 3 complexity · 4a7a22defb0d41dd8170b9108f497a09 MD5 · raw file

  1. PATH = File.expand_path "../../", __FILE__
  2. def models_path(model)
  3. "#{PATH}/app/models/#{model}"
  4. end
  5. require 'bundler'
  6. require 'bundler/setup'
  7. Bundler.require(:dm)
  8. env = ARGV[0] || "development"
  9. DataMapper.setup(:default, "mysql://localhost/rankey_#{env}")
  10. require models_path("engine")
  11. models = Dir.glob models_path("*.rb")
  12. models.each do |model|
  13. require model
  14. end
  15. DataMapper.auto_migrate!
  16. exit if env == "test"
  17. sites = [
  18. {
  19. name: "gystyle.com",
  20. keys: [["shopping", "outlet"], "online", ["make up", "prodotti", "abbigliamento", "vestiti", "abiti", "vino", "giacche", "moda", "moda accessori", "borse", "sedie", "cashemere", "gastronomia", "pasta", "ballerine", "cappotti", "cinture"], ["italy", "made in italy"]]
  21. },
  22. {
  23. name: "makevoid.com",
  24. keys: ["makevoid", ["ruby on rails", "ruby", "rails"], ["web apps", "apps"], "firenze"]
  25. },
  26. {
  27. name: "pixbits.com",
  28. keys: ["pixbits", "junk jack", ["ios", "iphone", "mobile"], ["game", "app"]]
  29. },
  30. {
  31. name: "stylequiz.net",
  32. keys: ["stylequiz", "facebook", ["fashion", "style"], "game"]
  33. },
  34. {
  35. name: "skicams.it",
  36. keys: [ ["skicams", "ski", "webcams"], "iphone", "app" ]
  37. },
  38. {
  39. name: "thorrents.com",
  40. keys: [ ["torrents", "thorrents"], ["tpb", "piratebay"], "italia" ]
  41. },
  42. {
  43. name: "pietroporcinai.com",
  44. alt: ["pietroporcinai.it"],
  45. keys: [ ["pietro porcinai", "porcinai"], ["architetto", "architettura"], "giardini", ["paesaggio", "paesaggista"] ]
  46. },
  47. {
  48. name: "mangapad.org",
  49. keys: [ "mangapad", "manga", ["read", "view"], ["ipad", "ios", "webapp"] ]
  50. },
  51. {
  52. name: "jscrape.it",
  53. keys: [ "jscrape", ["scrape", "scraper"], "javascript" ]
  54. },
  55. ]
  56. user = User.new(name: "Francesco Canessa")
  57. user.username = "makevoid@gmail.com"
  58. user.password = "secret"
  59. user.save
  60. sites.each do |site|
  61. keys = Keys.new site[:keys]
  62. site_obj = Site.create name: site[:name], keys_src: site[:keys]
  63. keys.all.each do |key_name|
  64. key = site_obj.keys.create name: key_name
  65. Position.history_days(:fews).each do |day|
  66. Engine.all.each do |engine|
  67. key.positions.create pos: rand(99)+1, engine: engine, created_on: day
  68. end
  69. end
  70. end
  71. end