class GemCheckUpdates::Gem
Constants
- DEFAULT_SCOPE
Attributes
current_version[RW]
name[RW]
version_range[RW]
versions[RW]
Public Class Methods
new(name: nil, current_version: nil, versions: [], version_range: nil, update_scope: DEFAULT_SCOPE)
click to toggle source
# File lib/gem_check_updates/gem.rb, line 12 def initialize(name: nil, current_version: nil, versions: [], version_range: nil, update_scope: DEFAULT_SCOPE) @name = name @current_version = current_version @versions = versions @version_range = version_range @update_scope = update_scope end
Public Instance Methods
highlighted_latest_version()
click to toggle source
# File lib/gem_check_updates/gem.rb, line 50 def highlighted_latest_version major = @current_version.major == latest_version.major ? latest_version.major : latest_version.major.green minor = @current_version.minor == latest_version.minor ? latest_version.minor : latest_version.minor.green patch = @current_version.patch == latest_version.patch ? latest_version.patch : latest_version.patch.green [major, minor, patch].join('.') end
latest_version()
click to toggle source
# File lib/gem_check_updates/gem.rb, line 31 def latest_version # Ignore pre release version (ex. beta, rc), and sort desc versions = @versions.reject(&:pre_release) .sort .reverse case @update_scope when GemCheckUpdates::VersionScope::MINOR versions.select { |v| v.major == @current_version.major }.first when GemCheckUpdates::VersionScope::PATCH versions.select do |v| v.major == @current_version.major && v.minor == @current_version.minor end.first else # This branch is equal to specifying major updates versions.first end end
update_available?()
click to toggle source
# File lib/gem_check_updates/gem.rb, line 24 def update_available? !latest_version.nil? && !@current_version.nil? && @current_version.version_specified? && latest_version > @current_version end