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

@private

Constants

TOO_MANY_USES_LIMIT

Attributes

deprecation_formatter[R]
deprecation_stream[R]
summary_stream[R]

Public Class Methods

new(deprecation_stream, summary_stream, deprecation_formatter) click to toggle source
# File 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

deprecation_summary() click to toggle source
# File 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
print_deferred_deprecation_warnings() click to toggle source
print_deprecation_message(data) click to toggle source
stash_deprecation_message(deprecation_message) click to toggle source
# File 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