class Object

Public Instance Methods

check_deps(conf) click to toggle source
# File lib/polisher/cli/bin/missing_deps.rb, line 33
def check_deps(conf)
  check_missing_deps(conf_source) if conf_gem? || conf_gemfile?
end
check_gems(conf) click to toggle source
# File lib/polisher/cli/bin/gems2update.rb, line 84
def check_gems(conf)
  check_gems2update(conf_source) if conf_gem? || conf_gemfile?
end
check_gems2update(source) click to toggle source
# File lib/polisher/cli/bin/gems2update.rb, line 48
def check_gems2update(source)
  deps = {}
  alts = {}

  msg = 'processing dependencies'
  waiting :msg => msg,
          :color => :red

  source.dependency_tree(:recursive => true,
                         :dev_deps  => conf[:devel_deps]) do |source, dep, resolved_dep|
    waiting_msg "#{msg} #{source.name}(#{dep.name})"

    # XXX : need to nullify dep.type for this lookup
    dep.instance_variable_set(:@type, :runtime)
    name = dep.name
    other_version_missing = deps.key?(name)
    has_dep = other_version_missing && deps[name].any? { |gdep| gdep == dep }

    unless has_dep
      versions = Polisher::VersionChecker.matching_versions(dep)
      missing_downstream = versions.empty?
    end

    if missing_downstream || other_version_missing
      deps[name] ||= []
      deps[name] << dep unless has_dep

      alts[name] = Polisher::VersionChecker.versions_for(name).values.flatten unless alts.key?(name)
    end

  end

  end_waiting
  check_missing(deps, alts)
end
check_missing(deps, alts) click to toggle source
# File lib/polisher/cli/bin/gems2update.rb, line 23
def check_missing(deps, alts)
  deps.each { |name, gdeps|
    versions = Polisher::Gem.remote_versions_for(name)
    matching = versions.select { |v| gdeps.all? { |dep| dep.match?(name, v)} }
    latest    = alts[name].max

    print "#{name}(#{latest}) #{gdeps.collect { |dep| dep.requirement.to_s }}: ".blue.bold

    if matching.empty?
      puts "No matching upstream versions".red.bold

    else
      updatable = latest.nil? ? matching : matching.select { |m| m > latest }

      if updatable.empty?
        puts "No matching upstream version > #{latest} (downstream)".red.bold

      else
        puts "Update to #{updatable.max}".green.bold

      end
    end
  }
end
check_missing_deps(source) click to toggle source
# File lib/polisher/cli/bin/missing_deps.rb, line 23
def check_missing_deps(source)
  source.dependency_tree(:recursive => true,
                         :dev_deps  => conf[:devel_deps]) do |source, dep, resolved_dep|
    versions   = Polisher::VersionChecker.matching_versions(dep)
    alt        = Polisher::VersionChecker.versions_for(dep.name)
    source_str = source.is_a?(Polisher::Gemfile) ? "Gemfile" : "#{source.name} #{source.version}"
    puts "#{source_str} missing dep #{dep.name} #{dep.requirement} - alt versions: #{alt}" if versions.empty?
  end
end
gem_mapper_conf() click to toggle source
# File lib/polisher/cli/bin/gem_mapper.rb, line 9
def gem_mapper_conf
  conf.merge!(default_conf)
      .merge!(specifier_conf)
      .merge!(sources_conf)
end
gem_mapper_parser() click to toggle source
# File lib/polisher/cli/bin/gem_mapper.rb, line 15
def gem_mapper_parser
  OptionParser.new do |opts|
    default_options(opts)
    sources_options(opts)
     specifier_opts(opts)
  end
end
gems2update_conf() click to toggle source
# File lib/polisher/cli/bin/gems2update.rb, line 9
def gems2update_conf
  conf.merge!(default_conf)
      .merge!(targets_conf)
      .merge!(sources_conf)
end
gems2update_parser() click to toggle source
# File lib/polisher/cli/bin/gems2update.rb, line 15
def gems2update_parser
  OptionParser.new do |opts|
    default_options opts
    targets_options opts
    sources_options opts
  end
end
missing_deps_conf() click to toggle source
# File lib/polisher/cli/bin/missing_deps.rb, line 9
def missing_deps_conf
  conf.merge!(default_conf)
      .merge!(targets_conf)
      .merge!(sources_conf)
end
missing_deps_parser() click to toggle source
# File lib/polisher/cli/bin/missing_deps.rb, line 15
def missing_deps_parser
  OptionParser.new do |opts|
    default_options opts
    targets_options opts
    sources_options opts
  end
end
print_dep(gem, dep, resolved_dep) click to toggle source
print_deps(source) click to toggle source
print_tree(conf) click to toggle source