Module: PocketMiku::PacketFactory

Extended by:
PacketFactory
Included in:
PacketFactory
Defined in:
lib/pocket_miku/packet_factory.rb

Instance Method Summary collapse

Instance Method Details

#byte_check(byte, error_message = "byte should 0...255 but give `%d'".freeze) ⇒ Object



9
10
11
12
13
# File 'lib/pocket_miku/packet_factory.rb', line 9

def byte_check(byte, error_message="byte should 0...255 but give `%d'".freeze)
  raise PocketMiku::InvalidByteError, "`#{byte}' is not integer." unless byte.is_a? Integer
  raise PocketMiku::InvalidByteError, error_message % byte unless (0..0xFF).include?(byte)
  byte
end

#pack(bytes) ⇒ Object



3
4
5
6
7
# File 'lib/pocket_miku/packet_factory.rb', line 3

def pack(bytes)
  bytes = [bytes] if bytes.is_a? Integer
  bytes.each(&PocketMiku::PacketFactory.method(:byte_check))
  bytes.pack "C*".freeze
end