module RSpec::Core::MemoizedHelpers::ClassMethods
def let(name, &block)
- Note: - `let` uses an `||=` conditional that has the potential to
Note: - `let` _can_ enhance readability when used sparingly (1,2, or
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`. 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(&nil) } end end