Class: Etherlite::Types::Bytes

Inherits:
Base
  • Object
show all
Defined in:
lib/etherlite/types/bytes.rb

Instance Method Summary collapse

Methods inherited from Base

#decode, #dynamic?, #fixed?

Constructor Details

#initialize(_size) ⇒ Bytes

Returns a new instance of Bytes.

Raises:

  • (ArgumentError)


3
4
5
6
# File 'lib/etherlite/types/bytes.rb', line 3

def initialize(_size)
  raise ArgumentError, "invalid byte size #{_size}" unless 0 < _size && _size <= 32
  @size = _size
end

Instance Method Details

#encode(_value) ⇒ Object

Raises:

  • (ArgumentError)


16
17
18
19
20
# File 'lib/etherlite/types/bytes.rb', line 16

def encode(_value)
  raise ArgumentError, "invalid argument type for 'bytes'" unless _value.is_a? ::String

  _value.unpack('H*').first.rjust(64, '0')
end

#signatureObject



8
9
10
# File 'lib/etherlite/types/bytes.rb', line 8

def signature
  "bytes#{@size}"
end

#sizeObject



12
13
14
# File 'lib/etherlite/types/bytes.rb', line 12

def size
  32
end