Sha256: 6d5feb1de714831cc77b99c5b8aa3267a82a8680512689f898e9e3b1f54ecd7d
Contents?: true
Size: 1.34 KB
Versions: 21
Compression:
Stored size: 1.34 KB
Contents
module DataMapper module Spec module PendingHelpers def pending_if(*args) message, boolean = parse_args(*args) if boolean pending(message) { yield } else yield end end def rescue_if(*args) message, boolean = parse_args(*args) if boolean raised = nil begin yield raised = false rescue Exception raised = true end raise "should have raised: #{message || 'TODO'}" if raised == false else yield end end private def parse_args(*args) case args.map { |arg| arg.class } when [ String, TrueClass ], [ String, FalseClass ] then args when [ String, NilClass ] then [ args.first, false ] when [ String ] then [ args.first, true ] when [ TrueClass ], [ FalseClass ] then [ '', args.first ] when [ NilClass ] then [ '', false ] when [] then [ '', true ] # defaults else raise ArgumentError, "Invalid arguments: #{args.inspect}" end end end end end
Version data entries
21 entries across 21 versions & 4 rubygems