module Magellan::Cli::GemUpdate
Constants
- LAST_UPDATE_SEARCHED_AT
- UPDATE_SEARCH_INTERVAL
Public Class Methods
search() { |name, version| ... }
click to toggle source
# File lib/magellan/cli/gem_update.rb, line 16 def search t = FileAccess.load_selections[LAST_UPDATE_SEARCHED_AT] return nil if t && (Time.now < Time.parse(t) + UPDATE_SEARCH_INTERVAL) name = "magellan-cli" version = `gem search -r #{name} -q --no-details --versions`.scan(/\((.*)\)/).flatten.first FileAccess.update_selections({LAST_UPDATE_SEARCHED_AT => Time.now.to_s}) if version curr = Gem::Version.new(Magellan::Cli::VERSION) last = Gem::Version.new(version) if last > curr yield(name, version) if block_given? return version else # puts "#{curr} is newer than equal #{last}" end else # puts "no gem version found for #{name}" end return nil end