Sha256: a518992d57af5ed923f5d8e30ca3229f358c5971c96c4d4414e61b71fd498739

Contents?: true

Size: 812 Bytes

Versions: 1

Compression:

Stored size: 812 Bytes

Contents

require 'pork/report/dot'

module Pork
  class Description < Dot
    attr_accessor :last_executor

    def msg_pass
      msg = "\e[1Go"
      if respond_to?(:green, true)
        green(msg)
      else
        msg
      end
    end

    def msg_skip   ; "\e[1G#{super}"; end
    def msg_failed ; "\e[1G#{super}"; end
    def msg_errored; "\e[1G#{super}"; end

    def case_start context
      self.last_executor ||= Executor
      executor = context.class
      levels = executor.ancestors.drop(1).count{ |a| a <= Executor }

      if executor != Executor && last_executor != executor
        io.puts "#{'  ' * (levels - 1)}#{executor.desc}"
      end

      io.print "#{'  ' * levels}#{context.pork_description}: "

      self.last_executor = executor
    end

    def case_end
      io.puts
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pork-1.4.0 lib/pork/report/description.rb