# File lib/rspec/core/metadata.rb, line 58
      def process(*args)
        user_metadata = args.last.is_a?(Hash) ? args.pop : {}
        ensure_valid_keys(user_metadata)

        self[:example_group].store(:caller, user_metadata.delete(:caller) || caller)
        self[:example_group].store(:describes, described_class_from(*args))
        self[:example_group].store(:description, description_from(*args))
        self[:example_group].store(:full_description, full_description_from(*args))
        self[:example_group].store(:block, user_metadata.delete(:example_group_block))

        update(user_metadata)
      end