# File lib/rspec/core/memoized_helpers.rb, line 117 def let(name, &block) # We have to pass the block directly to `define_method` to # allow it to use method constructs like `super` and `return`. ::RSpec::Core::MemoizedHelpers.module_for(self).define_method(name, &block) # Apply the memoization. The method has been defined in an ancestor # module so we can use `super` here to get the value. define_method(name) do __memoized.fetch(name) { |k| __memoized[k] = super() } end end