Top Level Namespace

Defined Under Namespace

Modules: VersionChecker

Instance Method Summary collapse

Instance Method Details

#notifyAboutUpdates(gem_name) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/version_checker.rb', line 5

def notifyAboutUpdates(gem_name)
  if gem_name.nil?
    puts "Pass correct gem name".red
    return
  end
  puts "Gem name #{gem_name}".green
  json_object = JSON.parse(open("https://rubygems.org/api/v1/versions/#{gem_name}/latest.json").read)
  specs = Gem.loaded_specs[gem_name]
  if specs.nil?
    puts "No specs found for this gem".red
    puts "Loaded specs: #{Gem.loaded_specs}".red
    return
  end
    highest_version = specs.version.to_s
  if json_object["version"].nil?
    return 
  end
  if json_object["version"] > highest_version 
    puts "Updates are available!".green
    puts "Your current version of #{gem_name} is #{highest_version}".green
    puts "Run 'gem update #{gem_name}' to get latest version #{json_object['version']}".green
    puts ""
  end      
end