class Specifier::Formatter::Base

A base defintion for formatting the specifier results.

Usage:

formatter = Specifier::Formatter::Base.new
formatter.record(example, result)
formatter.summarize

Constants

Recording

Public Class Methods

new(logger) click to toggle source
# File lib/specifier/formatter/base.rb, line 27
def initialize(logger)
  @logger = logger
  @recordings = []
  @contexts = []
end

Public Instance Methods

context(context) { || ... } click to toggle source
# File lib/specifier/formatter/base.rb, line 37
def context(context)
  @contexts << context
  yield
end
record(example, result) click to toggle source
# File lib/specifier/formatter/base.rb, line 33
def record(example, result)
  @recordings << Recording.new(example, result)
end
summarize() click to toggle source
# File lib/specifier/formatter/base.rb, line 42
def summarize
  @logger.log
  @logger.log(summary)
end

Protected Instance Methods

failed() click to toggle source
# File lib/specifier/formatter/base.rb, line 53
def failed
  @recordings.select(&:fail?)
end
passed() click to toggle source
# File lib/specifier/formatter/base.rb, line 49
def passed
  @recordings.select(&:pass?)
end
summary() click to toggle source
# File lib/specifier/formatter/base.rb, line 57
      def summary
        <<~SUMMARY
          Total: #{Colorizer.muted(@recordings.count)}
          Passed: #{Colorizer.passed(passed.count)}
          Failed: #{Colorizer.failed(failed.count)}
        SUMMARY
      end