module MuxTf::VersionCheck

Public Instance Methods

cache() click to toggle source
# File lib/mux_tf/version_check.rb, line 22
def cache
  @cache ||= YamlCache.new(File.expand_path("~/.mux_tf.yaml"), default_ttl: 1.hour)
end
current_gem_version() click to toggle source
# File lib/mux_tf/version_check.rb, line 18
def current_gem_version
  Gem::Version.new(MuxTf::VERSION)
end
has_updates?() click to toggle source
# File lib/mux_tf/version_check.rb, line 3
def has_updates?
  current_gem_version < latest_gem_version
end
latest_gem_version() click to toggle source
# File lib/mux_tf/version_check.rb, line 7
def latest_gem_version
  value = cache.fetch("latest_gem_version") {
    fetcher = Gem::SpecFetcher.fetcher
    dependency = Gem::Dependency.new "mux_tf"
    remotes, = fetcher.search_for_dependency dependency
    remotes.map(&:first).map(&:version).max.to_s
  }

  Gem::Version.new(value)
end