module Polisher::GemVersions
Public Class Methods
included(base)
click to toggle source
# File lib/polisher/gem/versions.rb, line 10 def self.included(base) base.extend(ClassMethods) end
Public Instance Methods
dependency_versions(args = {}, &bl)
click to toggle source
Retreive versions of gem available in all configured targets (optionally recursively)
@param [Hash] args hash of options to configure retrieval @option args [Boolean] :recursive indicates if versions of dependencies should also be retrieved @option args [Boolean] :dev_deps indicates if versions of development dependencies should also be retrieved @retrieve versions of all gem dependencies available in configured targets
# File lib/polisher/gem/versions.rb, line 91 def dependency_versions(args = {}, &bl) versions = args[:versions] || {} check_deps = args[:dev] ? dev_deps : deps check_deps.each do |dep| unless versions.key?(dep.name) begin gem = Polisher::Gem.retrieve(dep.name) versions.merge! gem.versions(args, &bl) rescue unknown = Polisher::VersionChecker.unknown_version(:all, dep.name, &bl) versions.merge! dep.name => unknown end end args[:versions] = versions end versions end
versions(args = {}, &bl)
click to toggle source
(and dependencies if specified)
# File lib/polisher/gem/versions.rb, line 113 def versions(args = {}, &bl) local_args = Hash[args] recursive = local_args[:recursive] dev_deps = local_args[:dev_deps] versions = local_args[:versions] || {} gem_versions = Polisher::VersionChecker.versions_for(name, &bl) versions.merge! name => gem_versions local_args[:versions] = versions if recursive versions.merge! dependency_versions local_args, &bl versions.merge! dependency_versions local_args.merge(:dev => true), &bl if dev_deps end versions end