Sha256: b15f0c29b2da4b1f298b8adf2c1d482ae5f09691a30983442860ba22fb5c24b6

Contents?: true

Size: 777 Bytes

Versions: 169

Compression:

Stored size: 777 Bytes

Contents

require 'mspec/utils/version'
require 'mspec/guards/guard'

class VersionGuard < SpecGuard
  def initialize(version)
    case version
    when String
      @version = SpecVersion.new version
    when Range
      a = SpecVersion.new version.first
      b = SpecVersion.new version.last
      @version = version.exclude_end? ? a...b : a..b
    end
    self.parameters = [version]
  end

  def ruby_version
    @ruby_version ||= SpecVersion.new self.class.ruby_version(:full)
  end

  def match?
    if Range === @version
      @version.include? ruby_version
    else
      ruby_version >= @version
    end
  end
end

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

Version data entries

169 entries across 145 versions & 4 rubygems

Version Path
rhodes-5.5.18 lib/extensions/mspec/mspec/guards/version.rb
rhodes-5.5.17 lib/extensions/mspec/mspec/guards/version.rb
rhodes-5.5.15 lib/extensions/mspec/mspec/guards/version.rb
rhodes-5.5.0.22 lib/extensions/mspec/mspec/guards/version.rb
rhodes-5.5.2 lib/extensions/mspec/mspec/guards/version.rb
rhodes-5.5.0.7 lib/extensions/mspec/mspec/guards/version.rb
rhodes-5.5.0.3 lib/extensions/mspec/mspec/guards/version.rb
rhodes-5.5.0 lib/extensions/mspec/mspec/guards/version.rb
tauplatform-1.0.3 lib/extensions/mspec/mspec/guards/version.rb
tauplatform-1.0.2 lib/extensions/mspec/mspec/guards/version.rb
tauplatform-1.0.1 lib/extensions/mspec/mspec/guards/version.rb
mspec-1.5.20 lib/mspec/guards/version.rb
mspec-1.5.19 lib/mspec/guards/version.rb
mspec-1.5.18 lib/mspec/guards/version.rb
rhodes-3.5.1.12 lib/extensions/mspec/mspec/guards/version.rb
rhodes-3.3.5 lib/extensions/mspec/mspec/guards/version.rb
rhodes-3.4.2 lib/extensions/mspec/mspec/guards/version.rb
rhodes-3.3.4 lib/extensions/mspec/mspec/guards/version.rb
rhodes-3.3.3 lib/extensions/mspec/mspec/guards/version.rb
rhodes-3.3.3.beta.4 lib/extensions/mspec/mspec/guards/version.rb