Sha256: a085a04e6069e40ec500dca22c71bbe1f38e0fb4b0c717cddeea1a162814c92d

Contents?: true

Size: 435 Bytes

Versions: 9

Compression:

Stored size: 435 Bytes

Contents

require 'bindata'
require 'pio/ipv4_address'

module Pio
  module Type
    # IP address
    class IpAddress < BinData::Primitive
      array :octets, type: :uint8, initial_length: 4

      def set(value)
        self.octets = IPv4Address.new(value).to_a
      end

      def get
        IPv4Address.new(octets.map { |each| format('%d', each) }.join('.'))
      end

      def ==(other)
        get == other
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pio-0.15.2 lib/pio/type/ip_address.rb
pio-0.15.1 lib/pio/type/ip_address.rb
pio-0.15.0 lib/pio/type/ip_address.rb
pio-0.14.0 lib/pio/type/ip_address.rb
pio-0.13.0 lib/pio/type/ip_address.rb
pio-0.12.0 lib/pio/type/ip_address.rb
pio-0.11.2 lib/pio/type/ip_address.rb
pio-0.11.1 lib/pio/type/ip_address.rb
pio-0.11.0 lib/pio/type/ip_address.rb