Sha256: 1823513f6826147cb4df352efb5940755493422f4c69e324fdc7248ad9b67c06

Contents?: true

Size: 692 Bytes

Versions: 9

Compression:

Stored size: 692 Bytes

Contents

class BeValidDNSName
  # http://stackoverflow.com/questions/106179/regular-expression-to-match-hostname-or-ip-address
  # ftp://ftp.rfc-editor.org/in-notes/rfc3696.txt
  # http://domainkeys.sourceforge.net/underscore.html
  VALID_DNS = /^(([a-zA-Z0-9_]|[a-zA-Z0-9_][a-zA-Z0-9\-_]*[a-zA-Z0-9_])\.)*([A-Za-z_]|[A-Za-z_][A-Za-z0-9\-_]*[A-Za-z0-9_])\.?$/

  def matches?(actual)
    @actual = actual
    (VALID_DNS =~ @actual) == 0
  end

  def failure_message
    ["Expected '#{@actual}'", "to be a valid DNS name"]
  end

  def negative_failure_message
    ["Expected '#{@actual}'", "not to be a valid DNS name"]
  end
end

class Object
  def be_valid_DNS_name
    BeValidDNSName.new
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
mspec-1.9.1 lib/mspec/matchers/be_valid_dns_name.rb
mspec-1.9.0 lib/mspec/matchers/be_valid_dns_name.rb
mspec-1.8.0 lib/mspec/matchers/be_valid_dns_name.rb
mspec-1.7.0 lib/mspec/matchers/be_valid_dns_name.rb
mspec-1.6.0 lib/mspec/matchers/be_valid_dns_name.rb
mspec-1.5.21 lib/mspec/matchers/be_valid_dns_name.rb
mspec-1.5.20 lib/mspec/matchers/be_valid_dns_name.rb
mspec-1.5.19 lib/mspec/matchers/be_valid_dns_name.rb
mspec-1.5.18 lib/mspec/matchers/be_valid_dns_name.rb