Module: BinReadable::ByteOrder

Defined in:
lib/more/facets/binreadable.rb

Overview

– TODO Would like to get the core functionality this provides into the System module and then change BinaryReader to depend on that instead. ++

Constant Summary collapse

Native =
:Native
BigEndian =
Big = Network = :BigEndian
LittleEndian =
Little = :LittleEndian

Class Method Summary collapse

Class Method Details

.big?Boolean

Returns:

  • (Boolean)


67
68
69
# File 'lib/more/facets/binreadable.rb', line 67

def big_endian?
  byte_order == BigEndian
end

.big_endian?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/more/facets/binreadable.rb', line 62

def big_endian?
  byte_order == BigEndian
end

.byte_orderObject

examines the byte order of the underlying machine



48
49
50
51
52
53
54
# File 'lib/more/facets/binreadable.rb', line 48

def byte_order
  if [0x12345678].pack("L") == "\x12\x34\x56\x78"
    BigEndian
  else
    LittleEndian
  end
end

.byteorderObject

examines the byte order of the underlying machine



56
57
58
59
60
61
62
# File 'lib/more/facets/binreadable.rb', line 56

def byte_order
  if [0x12345678].pack("L") == "\x12\x34\x56\x78"
    BigEndian
  else
    LittleEndian
  end
end

.little?Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/more/facets/binreadable.rb', line 66

def little_endian?
  byte_order == LittleEndian
end

.little_endian?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/more/facets/binreadable.rb', line 58

def little_endian?
  byte_order == LittleEndian
end

.network?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/more/facets/binreadable.rb', line 68

def big_endian?
  byte_order == BigEndian
end