class GemSyslibs::Syslibs
Constants
- ENDPOINT
- PLATFORM
Public Instance Methods
check()
click to toggle source
# File lib/gem_syslibs.rb, line 9 def check data = [] definition = Bundler.definition definition.validate_ruby! deps = definition.dependencies missing = [] deps.each do |g| exists = %x(gem list -i #{g.name}) missing << g.name if exists.chop == "false" end req = HTTParty.post(ENDPOINT, body: { packages: missing, os: PLATFORM.chop, }) success_data = JSON.parse req.body if success_data.size > 0 if success_data.include? 'message' puts success_data['message'] else libs ="" packages ="" success_data.each do |r| libs << r["libs"].join(" ")+" " packages << r["package"]['name']+" " end puts "you have to install the following system libraries #{libs} for #{packages} package(s)\n" #TODO: allow the gem to run install if PLATFORM == "Linux" puts "Run this command in terminal sudo apt-get install #{libs}" else puts "Run this command in terminal brew install #{libs}" end end else puts "No system libraries needed." end end