123456789_123456789_123456789_123456789_123456789_

Class: RSpec::Rails::ViewRendering::EmptyTemplateResolver::ResolverDecorator Private

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, ActionView::Resolver
Instance Chain:
self, ActionView::Resolver
Inherits: ActionView::Resolver
  • Object
Defined in: rspec-rails/lib/rspec/rails/view_rendering.rb

Overview

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

Class Method Summary

Instance Method Summary

Constructor Details

.new(resolver) ⇒ ResolverDecorator

[ GitHub ]

  
# File 'rspec-rails/lib/rspec/rails/view_rendering.rb', line 83

def initialize(resolver)
  @resolver = resolver
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block)

[ GitHub ]

  
# File 'rspec-rails/lib/rspec/rails/view_rendering.rb', line 87

def method_missing(name, *args, &block)
  result = @resolver.send(name, *args, &block)

  if result.is_a?(Enumerable) && result.all? { |element| element.is_a?(::ActionView::Template) }
    nullify_templates(result)
  elsif result.is_a?(::ActionView::Template)
    nullify_templates([result]).first
  else
    result
  end
end

Instance Method Details

#nullify_templates(collection) (private)

[ GitHub ]

  
# File 'rspec-rails/lib/rspec/rails/view_rendering.rb', line 101

def nullify_templates(collection)
  EmptyTemplateResolver.nullify_template_rendering(collection)
end