Method: DNSSD::TextRecord.decode
- Defined in:
- lib/dnssd/text_record.rb
.decode(text_record) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/dnssd/text_record.rb', line 7 def self.decode text_record record = {} tr = text_record.unpack 'C*' until tr.empty? do size = tr.shift next if size.zero? raise ArgumentError, 'ran out of data in text record' if tr.length < size entry = tr.shift(size).pack('C*') raise ArgumentError, 'key not found' unless entry =~ /^[^=]/ key, value = entry.split '=', 2 next unless key record[key] = value end new record end |