Sha256: 4e4f8ab2cd65135e4864784db8e95ba1dc6e1ef544aab6d7807b9b67adf7b999

Contents?: true

Size: 591 Bytes

Versions: 16

Compression:

Stored size: 591 Bytes

Contents

module RecordStore
  class Record::ALIAS < Record
    attr_accessor :alias

    validates :alias, presence: true, format: { with: Record::CNAME_REGEX, message: 'is not a fully qualified domain name' }
    validate :validate_circular_reference

    def initialize(record)
      super
      @alias = Record.ensure_ends_with_dot(record.fetch(:alias))
    end

    def rdata
      { alias: self.alias }
    end

    def rdata_txt
      self.alias
    end

    def validate_circular_reference
      errors.add(:fqdn, 'An ALIAS should not point to itself') unless fqdn != @alias
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
record_store-5.5.3 lib/record_store/record/alias.rb
record_store-5.4.3 lib/record_store/record/alias.rb
record_store-5.4.2 lib/record_store/record/alias.rb
record_store-5.4.1 lib/record_store/record/alias.rb
record_store-5.3.0 lib/record_store/record/alias.rb
record_store-5.2.2 lib/record_store/record/alias.rb
record_store-5.2.1 lib/record_store/record/alias.rb
record_store-5.2.0 lib/record_store/record/alias.rb
record_store-5.1.1 lib/record_store/record/alias.rb
record_store-5.1.0 lib/record_store/record/alias.rb
record_store-5.0.5 lib/record_store/record/alias.rb
record_store-5.0.4 lib/record_store/record/alias.rb
record_store-5.0.3 lib/record_store/record/alias.rb
record_store-5.0.2 lib/record_store/record/alias.rb
record_store-5.0.1 lib/record_store/record/alias.rb
record_store-5.0.0 lib/record_store/record/alias.rb