Class: GitlabInternalEventsCli::VersionChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab_internal_events_cli/version_checker.rb

Constant Summary collapse

RUBYGEMS_API_URL =
'https://rubygems.org/api/v1/gems/gitlab_internal_events_cli.json'
GEM_NAME =
'gitlab_internal_events_cli'

Instance Method Summary collapse

Constructor Details

#initialize(timeout: 3) ⇒ VersionChecker

Returns a new instance of VersionChecker.



8
9
10
# File 'lib/gitlab_internal_events_cli/version_checker.rb', line 8

def initialize(timeout: 3)
  @timeout = timeout
end

Instance Method Details

#latest_versionObject



12
13
14
# File 'lib/gitlab_internal_events_cli/version_checker.rb', line 12

def latest_version
  @latest_version ||= fetch_latest_version
end

#self_update!Object



22
23
24
# File 'lib/gitlab_internal_events_cli/version_checker.rb', line 22

def self_update!
  system('gem', 'install', GEM_NAME, '--no-document')
end

#update_available?Boolean

Returns:

  • (Boolean)


16
17
18
19
20
# File 'lib/gitlab_internal_events_cli/version_checker.rb', line 16

def update_available?
  return false unless latest_version

  Gem::Version.new(latest_version) > Gem::Version.new(VERSION)
end