Sha256: 2c12a77daf424f16050b4623b75fb0b69b30ceaf1c3621138155dedc40c7204d

Contents?: true

Size: 1.15 KB

Versions: 9

Compression:

Stored size: 1.15 KB

Contents

module Specjour::RSpec
  class DistributedFormatter < ::RSpec::Core::Formatters::ProgressFormatter

    def metadata_for_examples
      examples.map do |example|
        metadata = example.metadata
        {
          :execution_result => marshalable_execution_result(example.execution_result),
          :description      => metadata[:description],
          :file_path        => metadata[:file_path],
          :full_description => metadata[:full_description],
          :line_number      => metadata[:line_number],
          :location         => metadata[:location]
        }
      end
    end

    def noop(*args)
    end
    alias dump_pending noop
    alias dump_failures noop
    alias start_dump noop
    alias message noop

    def color_enabled?
      true
    end

    def dump_summary(*args)
      output.send_message :rspec_summary=, metadata_for_examples
    end

    def close
      examples.clear
      super
    end

    protected

    def marshalable_execution_result(execution_result)
      if exception = execution_result[:exception]
        execution_result[:exception] = MarshalableException.new(exception)
      end
      execution_result
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
specjour-0.6.3 lib/specjour/rspec/distributed_formatter.rb
specjour-0.6.2 lib/specjour/rspec/distributed_formatter.rb
specjour-0.6.1 lib/specjour/rspec/distributed_formatter.rb
specjour-0.6.0 lib/specjour/rspec/distributed_formatter.rb
specjour-0.5.6 lib/specjour/rspec/distributed_formatter.rb
specjour-0.5.5 lib/specjour/rspec/distributed_formatter.rb
specjour-0.5.4 lib/specjour/rspec/distributed_formatter.rb
specjour-0.5.2 lib/specjour/rspec/distributed_formatter.rb
specjour-0.5.0 lib/specjour/rspec/distributed_formatter.rb