Sha256: 1d594f150fde8230193eb5e45d81fa5ccc3b5d4b8869ae8a1f6efda398ac216b

Contents?: true

Size: 631 Bytes

Versions: 12

Compression:

Stored size: 631 Bytes

Contents

#Author: Piotr Wojcieszonek
#e-mail: piotr@wojcieszonek.pl
# Copyright 22.03.2016 by Piotr Wojcieszonek


require_relative 'option'

module Lib
  module DHCP
    class SubOption < Option

      def name
        option = self.class.name.split('::')[-2]
        sub_option = "#{self.class.name.split('::').last}#{@oid}"
        "#{option} #{sub_option}"
      end

      def to_s
        @payload.unpack('C*').map{|item| item.to_i.to_s(16).rjust(2, '0') }.join(':')
      end

      def len
        [@payload].pack('a*').size
      end

      def pack
        [@oid.to_i, len.to_i, @payload].pack('C2a*')
      end

    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
lib-dhcp-0.2.5 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.2.4 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.2.3 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.2.2 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.2.1 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.2.0 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.1.8 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.1.4 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.1.3 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.1.2 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.1.1 lib/lib/dhcp/options/sub_option.rb
lib-dhcp-0.1.0 lib/lib/dhcp/options/sub_option.rb