class RSpec::Rails::AssertionDelegator

@private

Public Class Methods

new(*assertion_modules) click to toggle source
Calls superclass method
# File lib/rspec/rails/adapters.rb, line 87
def initialize(*assertion_modules)
  assertion_class = Class.new(SimpleDelegator) do
    include ::RSpec::Rails::Assertions
    include ::RSpec::Rails::MinitestCounters
    assertion_modules.each { |mod| include mod }
  end

  super() do
    define_method :build_assertion_instance do
      assertion_class.new(self)
    end

    def assertion_instance
      @assertion_instance ||= build_assertion_instance
    end

    assertion_modules.each do |mod|
      mod.public_instance_methods.each do |method|
        next if method == :method_missing || method == "method_missing"
        define_method(method.to_sym) do |*args, &block|
          assertion_instance.send(method.to_sym, *args, &block)
        end
      end
    end
  end
end

Public Instance Methods

assertion_instance() click to toggle source
# File lib/rspec/rails/adapters.rb, line 99
def assertion_instance
  @assertion_instance ||= build_assertion_instance
end