Class: RSpec::Rails::AssertionDelegator Private
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Module
|
|
|
Instance Chain:
self,
Module
|
|
| Inherits: |
Module
|
| Defined in: | rspec-rails/lib/rspec/rails/adapters.rb |
Class Method Summary
- .new(*assertion_modules) ⇒ AssertionDelegator constructor Internal use only
Constructor Details
.new(*assertion_modules) ⇒ AssertionDelegator
# File 'rspec-rails/lib/rspec/rails/adapters.rb', line 34
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