module RSpec::Core::Pending

def pending(*args)

def pending(*args)
  options = args.last.is_a?(Hash) ? args.pop : {}
  message = args.first || DEFAULT_MESSAGE
  if options[:unless] || (options.has_key?(:if) && !options[:if])
    return block_given? ? yield : nil
  end
  example.metadata[:pending] = true
  example.metadata[:execution_result][:pending_message] = message
  if block_given?
    begin
      result = yield
      example.metadata[:pending] = false
    rescue Exception => e
    end
    raise RSpec::Core::PendingExampleFixedError.new if result
  end
  throw :pending_declared_in_example, message
end