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 172 def print_deferred_deprecation_warnings deprecation_stream.puts "\nDeprecation Warnings:\n\n" @deprecation_messages.keys.sort_by(&:type).each do |deprecation| messages = @deprecation_messages[deprecation] messages.each { |msg| deprecation_stream.puts msg } deprecation_stream.puts end end
# File rspec-core/lib/rspec/core/formatters/deprecation_formatter.rb, line 148 def print_deprecation_message(data) deprecation_message = deprecation_formatter.deprecation_message_for(data) @seen_deprecations[deprecation_message] += 1 stash_deprecation_message(deprecation_message) 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