class RSpec::Core::Formatters::DeprecationFormatter::DelayedPrinter

@private

Constants

TOO_MANY_USES_LIMIT

Attributes

Public Class Methods

# File rspec-core/lib/rspec/core/formatters/deprecation_formatter.rb, line 140
def initialize(deprecation_stream, summary_stream, deprecation_formatter)
  @deprecation_stream = deprecation_stream
  @summary_stream = summary_stream
  @deprecation_formatter = deprecation_formatter
  @seen_deprecations = Hash.new { 0 }
  @deprecation_messages = Hash.new { |h, k| h[k] = [] }
end

Public Instance Methods

# File rspec-core/lib/rspec/core/formatters/deprecation_formatter.rb, line 163
def deprecation_summary
  return unless @deprecation_messages.any?

  print_deferred_deprecation_warnings
  deprecation_stream.puts RAISE_ERROR_CONFIG_NOTICE

  summary_stream.puts "\n#{Helpers.pluralize(deprecation_formatter.count, 'deprecation warning')} total"
end
# File rspec-core/lib/rspec/core/formatters/deprecation_formatter.rb, line 155
def stash_deprecation_message(deprecation_message)
  if @seen_deprecations[deprecation_message] < TOO_MANY_USES_LIMIT
    @deprecation_messages[deprecation_message] << deprecation_message.to_s
  elsif @seen_deprecations[deprecation_message] == TOO_MANY_USES_LIMIT
    @deprecation_messages[deprecation_message] << deprecation_message.too_many_warnings_message
  end
end