Sha256: 3b1cd35b025c8ecabcafde110e163c22e4064dfcd350e7c1df93d01da1dab1c3

Contents?: true

Size: 672 Bytes

Versions: 5

Compression:

Stored size: 672 Bytes

Contents

module MuxTf
  module VersionCheck
    def has_updates?
      current_gem_version < latest_gem_version 
    end
  
    def latest_gem_version
      value = cache.fetch("latest_gem_version") do
        fetcher = Gem::SpecFetcher.fetcher
        dependency = Gem::Dependency.new "mux_tf"
        remotes, = fetcher.search_for_dependency dependency
        remotes.map(&:first).map(&:version).sort.last.to_s
      end

      Gem::Version.new(value)
    end
    
    def current_gem_version
      Gem::Version.new(MuxTf::VERSION)
    end

    def cache
      @cache ||= YamlCache.new(File.expand_path("~/.mux_tf.yaml"), default_ttl: 1.hour)
    end

    extend self
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mux_tf-0.2.4 lib/mux_tf/version_check.rb
mux_tf-0.2.3 lib/mux_tf/version_check.rb
mux_tf-0.2.2 lib/mux_tf/version_check.rb
mux_tf-0.2.1 lib/mux_tf/version_check.rb
mux_tf-0.2.0 lib/mux_tf/version_check.rb