Sha256: 5ef9c5f5cae985e16486839f2d3981207a9221d7c4738c328b79e957702ed924

Contents?: true

Size: 543 Bytes

Versions: 4

Compression:

Stored size: 543 Bytes

Contents

module RecordStore
  class Record::TXT < Record
    attr_accessor :txtdata

    validates :txtdata, presence: true, length: { maximum: 255 }
    validate :escaped_semicolons

    def initialize(record)
      super
      @txtdata = record.fetch(:txtdata)
    end

    def rdata
      { txtdata: txtdata }
    end

    def rdata_txt
      Record.quote(txtdata)
    end

    private

    def escaped_semicolons
      if txtdata =~ /([^\\]|\A);/
        errors.add(:txtdata, 'has unescaped semicolons (See RFC 1035).')
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
record_store-5.5.3 lib/record_store/record/txt.rb
record_store-5.4.3 lib/record_store/record/txt.rb
record_store-5.4.2 lib/record_store/record/txt.rb
record_store-5.4.1 lib/record_store/record/txt.rb