Class: DerParse::Node::Integer

Inherits:
DerParse::Node show all
Defined in:
lib/derparse/node/integer.rb

Instance Attribute Summary

Attributes inherited from DerParse::Node

#data, #data_length, #depth, #length_length, #offset, #rest, #tag, #tag_class, #tag_length

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from DerParse::Node

#complete?, #constructed?, #der_length, factory, #first_child, #header_length, #initialize, #next_node, #primitive?

Constructor Details

This class inherits a constructor from DerParse::Node

Class Method Details

.handles?(der) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'lib/derparse/node/integer.rb', line 4

def self.handles?(der)
	der[0] == "\x02"
end

Instance Method Details

#valueObject



8
9
10
11
12
# File 'lib/derparse/node/integer.rb', line 8

def value
	sign = (@data[0].ord & 0x80) >> 7

	@data.split(//).inject(0) { |a, c| sign *= 256; a * 256 + c.ord } - sign
end