Guest User

Untitled

a guest
Mar 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2. require 'rubygems'
  3.  
  4. puts "looking for the gems to upgrade..."
  5. gem_info = Struct.new(:name, :version)
  6. to_reinstall = []
  7. Dir.glob("#{Gem.dir}/**/*.bundle").map do |path|
  8. path =~ /.*1.8\/gems\/(.*)-(.*?)\/.*/
  9. name, version = $1, $2
  10. bundle_info = `file #{path}`
  11. to_reinstall << gem_info.new(name, version) unless bundle_info =~ /bundle x86_64/
  12. end
  13.  
  14. gemnames = to_reinstall.map{|ginfo| ginfo.name}.uniq.delete_if{|name| name =~ /mysql|passenger/}
  15. puts "***"
  16. puts "Please reinstall:"
  17. gemnames.each do |name|
  18. gems = to_reinstall.select{|ginfo| ginfo.name == name}
  19. puts "#{name} versions: #{gems.map{|ginfo| ginfo.version}.join(', ')}"
  20. end
  21.  
  22. puts "or uninstall all gems that need to be reinstalled:\n"
  23. puts "$ sudo gem uninstall #{gemnames.join(' ')}"
  24. puts " "
  25. puts "and reinstall them:\n"
  26. puts "$ sudo gem install #{gemnames.join(' ')}"
Add Comment
Please, Sign In to add comment