Sha256: 2589c8f22541329fbfd3f1642dda7e43804e438800dc25ce4b94a9598024ab4e

Contents?: true

Size: 932 Bytes

Versions: 16

Compression:

Stored size: 932 Bytes

Contents

module RecordStore
  class Record::SRV < Record
    attr_accessor :priority, :port, :weight, :target

    validates :priority, presence: true, numericality: { only_integer: true, greater_than_or_equal_to: 0 }
    validates :port, presence: true, numericality: { only_integer: true, greater_than_or_equal_to: 0 }
    validates :weight, presence: true, numericality: { only_integer: true, greater_than_or_equal_to: 0 }
    validates :target, presence: true, format: { with: Record::CNAME_REGEX, message: 'is not a fully qualified domain name' }

    def initialize(record)
      super
      @priority = record.fetch(:priority)
      @weight   = record.fetch(:weight)
      @port     = record.fetch(:port)
      @target   = record.fetch(:target)
    end

    def rdata
      { priority: priority, port: port, weight: weight, target: target }
    end

    def rdata_txt
      "#{priority} #{weight} #{port} #{target}"
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

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