class Releasecop::Result

Attributes

comparisons[RW]
name[RW]

Public Class Methods

new(name, comparisons) click to toggle source
# File lib/releasecop/result.rb, line 5
def initialize(name, comparisons)
  @name = name
  @comparisons = comparisons
end

Public Instance Methods

puts_message(verbose_flag) click to toggle source
# File lib/releasecop/result.rb, line 10
def puts_message(verbose_flag)
  if verbose_flag
    puts message
  else
    puts message if unreleased?
  end
end
unreleased() click to toggle source
# File lib/releasecop/result.rb, line 18
def unreleased
  @comparisons.select(&:unreleased?).count
end

Private Instance Methods

comparison_messages() click to toggle source
# File lib/releasecop/result.rb, line 36
def comparison_messages
  @comparisons.map do |comparison|
    summary = if comparison.unreleased?
      "  #{comparison.behind.name} is behind #{comparison.ahead.name} by:\n"
    else
      "  #{comparison.behind.name} is up-to-date with #{comparison.ahead.name}"
    end
    detailed_messages = comparison.lines.map { |l| "    #{l}" }
    [summary, *detailed_messages].join
  end
end
header() click to toggle source
# File lib/releasecop/result.rb, line 28
def header
  "#{@name}..."
end
message() click to toggle source
# File lib/releasecop/result.rb, line 24
def message
  [header, *comparison_messages].join "\n"
end
unreleased?() click to toggle source
# File lib/releasecop/result.rb, line 32
def unreleased?
  unreleased > 0
end