Guest User

Untitled

a guest
Jun 25th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. require 'net/http'
  2. require 'uri'
  3.  
  4. namespace :repository do
  5. desc "get repositories list and delete old repositories list at 11:00 every day"
  6. task :get_repositories do
  7. save_repositories
  8. delete_repositories
  9. end
  10.  
  11. def save_repositories
  12. languages.each do |language|
  13.  
  14. uri =
  15. URI.parse("https://api.github.com/search/repositories?q=language:#{language}&sort=stars&order=desc")
  16. https = Net::HTTP.new(uri.host, uri.port)
  17. https.use_ssl = true
  18. response = https.start {
  19. https.get(uri.request_uri)
  20. }
  21.  
  22. if response.code == '200'
  23. results = ActiveSupport::JSON.decode response.body
  24. results["items"].each do |repository|
  25. Repository.create(name: repository["name"], language: repository["language"],
  26. url: repository["html_url"], scores: repository["score"], issues: repository["issues"])
  27. end
  28. end
  29. end
  30. end
  31.  
  32. def delete_repository
  33. puts "Hello World"
  34. end
  35.  
  36. def languages
  37. ["Javascript", "Ruby", "Python", "Java", "Go"]
  38. end
  39. end
  40.  
  41. class Repository < ApplicationRecord
  42.  
  43. end
  44.  
  45. rake aborted!
  46. NameError: uninitialized constant Repository
  47.  
  48. task get_repositories: :environment do
  49. hogehoge
  50. end
Add Comment
Please, Sign In to add comment