class Releasecop::Checker
Attributes
envs[RW]
name[RW]
working_dir[RW]
Public Class Methods
new(name, envs, working_dir = Releasecop::CONFIG_DIR)
click to toggle source
# File lib/releasecop/checker.rb, line 5 def initialize(name, envs, working_dir = Releasecop::CONFIG_DIR) self.name = name self.envs = envs.map { |e| Releasecop::ManifestItem.new(name, e) } self.working_dir = working_dir end
Public Instance Methods
check()
click to toggle source
# File lib/releasecop/checker.rb, line 11 def check Dir.chdir(working_dir) do `git clone #{envs.first.git} #{'--bare' if envs.all?(&:bare_clone?)} #{name} > /dev/null 2>&1` Dir.chdir(name) do envs.each do |env| `git remote add #{env.name} #{env.git} > /dev/null 2>&1` `git fetch #{env.name} > /dev/null 2>&1` end comparisons = [] envs.each_cons(2) do |ahead, behind| comparisons << Releasecop::Comparison.new(ahead, behind) end comparisons.each &:check @result = Releasecop::Result.new(name, comparisons) end end end
puts_message(verbose_flag)
click to toggle source
# File lib/releasecop/checker.rb, line 32 def puts_message(verbose_flag) @result.puts_message(verbose_flag) end
unreleased()
click to toggle source
# File lib/releasecop/checker.rb, line 36 def unreleased @result.unreleased end