class FoodFormatter

Public Instance Methods

dump_failures(notification) click to toggle source
# File lib/food_formatter.rb, line 28
def dump_failures(notification)
  return if notification.failure_notifications.empty?

  formatted = "\n🥩 🥩 🥩 Failure 🥩 🥩 🥩\n"
  notification.failure_notifications.each_with_index do |failure, index|
    formatted += failure.fully_formatted(index + 1, ::RSpec::Core::Formatters::ConsoleCodes)
  end

  @output.puts(formatted)
end
dump_pending(notification) click to toggle source
# File lib/food_formatter.rb, line 16
def dump_pending(notification)
  return if notification.pending_examples.empty?

  formatted = "\n🍺 🍺 🍺 Pending 🍺 🍺 🍺\n"

  notification.pending_notifications.each_with_index do |pending, index|
    formatted << pending.fully_formatted(index + 1, ::RSpec::Core::Formatters::ConsoleCodes)
  end

  @output.puts(formatted)
end
dump_summary(summary) click to toggle source
# File lib/food_formatter.rb, line 39
def dump_summary(summary)
  @output.puts(totals_line(summary))
end
example_failed(_notification) click to toggle source
# File lib/food_formatter.rb, line 12
def example_failed(_notification)
  @output.print(' 🥩 ')
end
example_passed(_notification) click to toggle source
# File lib/food_formatter.rb, line 4
def example_passed(_notification)
  @output.print(' 🥗 ')
end
example_pending(_notification) click to toggle source
# File lib/food_formatter.rb, line 8
def example_pending(_notification)
  @output.print(' 🍺 ')
end

Private Instance Methods

example_count(summary) click to toggle source
# File lib/food_formatter.rb, line 49
def example_count(summary)
  "#{summary.example_count} #{pluralize(summary.example_count, 'example')}"
end
failure_count(summary) click to toggle source
# File lib/food_formatter.rb, line 53
def failure_count(summary)
  return if summary.failure_count.zero?

  formatted = ''
  summary.failure_count.times {  formatted << '🥩 ' }
  formatted << pluralize(summary.failure_count, 'failure')
end
pending_count(summary) click to toggle source
# File lib/food_formatter.rb, line 61
def pending_count(summary)
  return if summary.pending_count.zero?

  formatted = ''
  summary.pending_count.times { formatted << '🍺 ' }
  formatted << pluralize(summary.pending_count, 'pending')
end
pluralize(count, string) click to toggle source
# File lib/food_formatter.rb, line 69
def pluralize(count, string)
  "#{string}#{'s' unless count == 1}"
end
totals_line(summary) click to toggle source
# File lib/food_formatter.rb, line 45
def totals_line(summary)
  @output.puts("#{example_count(summary)} #{failure_count(summary)} #{pending_count(summary)}")
end