Sha256: 11efef35aeae1cd63973a6ff3157197b5b21df1c8d8a0579257f017d42bae488

Contents?: true

Size: 745 Bytes

Versions: 175

Compression:

Stored size: 745 Bytes

Contents

require 'mspec/guards/guard'

class CompliantOnGuard < SpecGuard
  def match?
    if @args.include? :ruby
      raise Exception, "improper use of compliant_on guard"
    end
    standard? or implementation?(*@args)
  end
end

class NotCompliantOnGuard < SpecGuard
  def match?
    if @args.include? :ruby
      raise Exception, "improper use of not_compliant_on guard"
    end
    standard? or !implementation?(*@args)
  end
end

class Object
  def compliant_on(*args)
    g = CompliantOnGuard.new(*args)
    g.name = :compliant_on
    yield if g.yield?
  ensure
    g.unregister
  end

  def not_compliant_on(*args)
    g = NotCompliantOnGuard.new(*args)
    g.name = :not_compliant_on
    yield if g.yield?
  ensure
    g.unregister
  end
end

Version data entries

175 entries across 151 versions & 4 rubygems

Version Path
rhodes-5.5.18 lib/extensions/mspec/mspec/guards/compliance.rb
rhodes-5.5.17 lib/extensions/mspec/mspec/guards/compliance.rb
rhodes-5.5.15 lib/extensions/mspec/mspec/guards/compliance.rb
rhodes-5.5.0.22 lib/extensions/mspec/mspec/guards/compliance.rb
rhodes-5.5.2 lib/extensions/mspec/mspec/guards/compliance.rb
rhodes-5.5.0.7 lib/extensions/mspec/mspec/guards/compliance.rb
rhodes-5.5.0.3 lib/extensions/mspec/mspec/guards/compliance.rb
rhodes-5.5.0 lib/extensions/mspec/mspec/guards/compliance.rb
tauplatform-1.0.3 lib/extensions/mspec/mspec/guards/compliance.rb
mspec-1.9.1 lib/mspec/guards/compliance.rb
mspec-1.9.0 lib/mspec/guards/compliance.rb
tauplatform-1.0.2 lib/extensions/mspec/mspec/guards/compliance.rb
tauplatform-1.0.1 lib/extensions/mspec/mspec/guards/compliance.rb
mspec-1.8.0 lib/mspec/guards/compliance.rb
mspec-1.7.0 lib/mspec/guards/compliance.rb
mspec-1.6.0 lib/mspec/guards/compliance.rb
mspec-1.5.21 lib/mspec/guards/compliance.rb
mspec-1.5.20 lib/mspec/guards/compliance.rb
mspec-1.5.19 lib/mspec/guards/compliance.rb
mspec-1.5.18 lib/mspec/guards/compliance.rb