Sha256: a582f8de84a2308b5ad96c2baed20884da3d7debe4ee0c57db354a0b962cd41d

Contents?: true

Size: 1.05 KB

Versions: 6

Compression:

Stored size: 1.05 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
    end
    alias dump_pending noop
    alias dump_failures noop
    alias start_dump noop

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

    protected

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

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
specjour-0.3.0.rc8 lib/specjour/rspec2/distributed_formatter.rb
specjour-0.3.0.rc7 lib/specjour/rspec2/distributed_formatter.rb
specjour-0.3.0.rc6 lib/specjour/rspec2/distributed_formatter.rb
specjour-0.3.0.rc5 lib/specjour/rspec2/distributed_formatter.rb
specjour-0.3.0.rc4 lib/specjour/rspec2/distributed_formatter.rb
specjour-0.3.0.rc3 lib/specjour/rspec2/distributed_formatter.rb