class RSpec::Rails::ViewRendering::EmptyTemplateResolver::ResolverDecorator

Delegates all methods to the submitted resolver and for all methods that return a collection of ‘ActionView::Template` instances, return templates with modified source

@private

Public Class Methods

new(resolver) click to toggle source
# File lib/rspec/rails/view_rendering.rb, line 83
def initialize(resolver)
  @resolver = resolver
end

Public Instance Methods

method_missing(name, *args, &block) click to toggle source
# File lib/rspec/rails/view_rendering.rb, line 87
def method_missing(name, *args, &block)
  result = @resolver.send(name, *args, &block)
  nullify_templates(result)
end

Private Instance Methods

nullify_templates(collection) click to toggle source
# File lib/rspec/rails/view_rendering.rb, line 94
def nullify_templates(collection)
  return collection unless collection.is_a?(Enumerable)
  return collection unless collection.all? { |element| element.is_a?(::ActionView::Template) }

  EmptyTemplateResolver.nullify_template_rendering(collection)
end