Sha256: c636b6bf65b9602fecb672be074bcbdac70380ce8431c56a4643d9683e19ce91
Contents?: true
Size: 1.68 KB
Versions: 5
Compression:
Stored size: 1.68 KB
Contents
module Gemdiff class OutdatedGem # gems that tag releases with tag names like 1.2.3 # keep it alphabetical LIST_NO_V = %w[atomic babosa cancan compass haml thread_safe] attr_accessor :name, :old_version, :new_version def initialize(name, old_version = nil, new_version = nil) @name = name @old_version = old_version @new_version = new_version end # options :old, :new def set_versions(options) @old_version = options[:old] @new_version = options[:new] end def missing_versions? old_version.nil? || new_version.nil? end def load_bundle_versions gem = BundleInspector.new.get(@name) return false if gem.nil? @old_version ||= gem.old_version @new_version ||= gem.new_version true end def repo @repo ||= RepoFinder.github_url(@name) end def repo? !!repo end def releases_url "#{repo}/releases" end def commits_url "#{repo}/commits/master" end def compare_message "#{name}: #{new_version} > #{old_version}" end def compare_url "#{repo}/compare/#{compare_part}" end def commits `open #{commits_url}` if repo? end def releases `open #{releases_url}` if repo? end def compare `open #{compare_url}` if repo? end def open `open #{repo}` if repo? end private def compare_part if compare_type == :no_v "#{old_version}...#{new_version}" else "v#{old_version}...v#{new_version}" end end def compare_type if LIST_NO_V.include?(@name) :no_v else :default end end end end
Version data entries
5 entries across 5 versions & 1 rubygems