Sha256: fb32638bb3e0570c969c22767bf94bf3a92770d6ec2ae57fc01ec7d7fea80da6

Contents?: true

Size: 521 Bytes

Versions: 36

Compression:

Stored size: 521 Bytes

Contents

# frozen_string_literal: true

class MiniDefender::Rules::Hostname < MiniDefender::Rule
  HOSTNAME_REGEX = /\A[a-zA-Z0-9][a-zA-Z0-9\-]{1,63}(\.[a-zA-Z0-9][a-zA-Z0-9\-]{1,63})+\.?\z/

  def self.signature
    'hostname'
  end

  def coerce(value)
    value.to_s.downcase.strip
  end

  def passes?(attribute, value, validator)
    value = value.to_s.downcase.strip
    return false if value.length > 255

    value.match?(HOSTNAME_REGEX)
  end

  def message(attribute, value, validator)
    'Invalid hostname.'
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
mini_defender-0.6.8 lib/mini_defender/rules/hostname.rb
mini_defender-0.6.7 lib/mini_defender/rules/hostname.rb
mini_defender-0.6.5 lib/mini_defender/rules/hostname.rb
mini_defender-0.6.4 lib/mini_defender/rules/hostname.rb
mini_defender-0.6.3 lib/mini_defender/rules/hostname.rb
mini_defender-0.6.2 lib/mini_defender/rules/hostname.rb
mini_defender-0.6.1 lib/mini_defender/rules/hostname.rb
mini_defender-0.6.0 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.8 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.7 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.6 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.5 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.4 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.3 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.2 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.1 lib/mini_defender/rules/hostname.rb
mini_defender-0.5.0 lib/mini_defender/rules/hostname.rb
mini_defender-0.4.1 lib/mini_defender/rules/hostname.rb
mini_defender-0.4.0 lib/mini_defender/rules/hostname.rb
mini_defender-0.3.14 lib/mini_defender/rules/hostname.rb