module RSpec::Core::MemoizedHelpers

def subject

Other tags:
    See: #is_expected -
    See: #should_not -
    See: #should -

Other tags:
    Note: - Because `subject` is designed to create state that is reset
    Note: - `subject` was contributed by Joe Ferris to support the one-liner
def subject
  __memoized.fetch_or_store(:subject) do
    described = described_class || self.class.metadata.fetch(:description_args).first
    Class === described ? described.new : described
  end
end