class InstalledGemFuture
Attributes
gem[R]
installed_version[R]
name[R]
Public Class Methods
new(gem)
click to toggle source
# File lib/installed_gem_future.rb, line 5 def initialize(gem) @gem = gem @name = gem.name @installed_version = gem.version.to_s @futures = Array.new end
Public Instance Methods
add_future_version(version)
click to toggle source
# File lib/installed_gem_future.rb, line 12 def add_future_version(version) @futures << version unless @futures.include? version end
count()
click to toggle source
# File lib/installed_gem_future.rb, line 16 def count @futures.size end
inspect()
click to toggle source
# File lib/installed_gem_future.rb, line 20 def inspect "#{@name} (#{@installed_version}): #{PP.pp(@futures, ' ')}" end
to_html()
click to toggle source
# File lib/installed_gem_future.rb, line 24 def to_html "<tr><td class='gem'>#{@name}</td><td class='current-version'>#{@installed_version}</td><td class='versions-behind'>#{versions_behind}</td>#{futures_to_html}</tr>" end
Private Instance Methods
futures_to_html()
click to toggle source
# File lib/installed_gem_future.rb, line 36 def futures_to_html html = "" previous_version = @installed_version @futures.each do |future| html << "<td class='#{version_change_label(previous_version, future)}'>#{future}</td>" previous_version = future end html end
version_change_label(from_version, to_version)
click to toggle source
# File lib/installed_gem_future.rb, line 47 def version_change_label(from_version, to_version) from_components = from_version.split(".") to_components = to_version.split(".") begin return "major" if (from_components[0].to_i < to_components[0].to_i) return "minor" if (from_components[1].to_i < to_components[1].to_i) return "build" if (from_components[2].to_i < to_components[2].to_i) rescue NoMethodError "unknown" end "trivial" end
versions_behind()
click to toggle source
# File lib/installed_gem_future.rb, line 30 def versions_behind return count if count > 0 "N/a" end