class RSpec::Core::Formatters::Loader
def add(formatter_to_use, *paths)
- Private: -
def add(formatter_to_use, *paths) formatter_class = find_formatter(formatter_to_use) args = paths.map { |p| p.respond_to?(:puts) ? p : file_at(p) } if !Loader.formatters[formatter_class].nil? formatter = formatter_class.new(*args) @reporter.register_listener formatter, *notifications_for(formatter_class) elsif defined?(RSpec::LegacyFormatters) formatter = RSpec::LegacyFormatters.load_formatter formatter_class, *args @reporter.register_listener formatter, *formatter.notifications else line = ::RSpec::CallerFilter.first_non_rspec_line if line call_site = "Formatter added at: #{line}" else call_site = "The formatter was added via command line flag or your "\ "`.rspec` file." end RSpec.warn_deprecation <<-WARNING.gsub(/\s*\|/, ' ') |The #{formatter_class} formatter uses the deprecated formatter |interface not supported directly by RSpec 3. | |To continue to use this formatter you must install the |`rspec-legacy_formatters` gem, which provides support |for legacy formatters or upgrade the formatter to a |compatible version. | |#{call_site} WARNING return end @formatters << formatter unless duplicate_formatter_exists?(formatter) formatter end