Class: PEM::UpdateChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/pem/update_checker.rb

Overview

Verifies, the user runs the latest version of this gem

Class Method Summary collapse

Class Method Details

.current_versionObject

The currently used version of this gem



35
36
37
# File 'lib/pem/update_checker.rb', line 35

def self.current_version
  PEM::VERSION
end

.update_available?Boolean

Is a new official release available (this does not include pre-releases)

Returns:

  • (Boolean)


22
23
24
25
26
27
28
29
30
31
32
# File 'lib/pem/update_checker.rb', line 22

def self.update_available?
  begin
    latest = fetch_latest
    if latest and Gem::Version.new(latest) > Gem::Version.new(current_version)
      return true
    end
  rescue Exception => ex
    Helper.log.error("Could not check if 'PEM' is up to date.")
  end
  return false
end

.verify_latest_versionObject

This method will check if the latest version is installed and show a warning if that’s not the case



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/pem/update_checker.rb', line 7

def self.verify_latest_version
  if self.update_available?
    v = fetch_latest
    puts '#######################################################################'.green
    puts "# PEM #{v} is available.".green
    puts "# It is recommended to use the latest version.".green
    puts "# Update using '(sudo) gem update PEM'.".green
    puts "# To see what's new, open https://github.com/KrauseFx/PEM/releases.".green
    puts '#######################################################################'.green
    return true
  end
  false
end