module BinData
def const_missing_with_int(name)
def const_missing_with_int(name) name = name.to_s mappings = { /^Uint(\d+)be$/ => [:big, :unsigned], /^Uint(\d+)le$/ => [:little, :unsigned], /^Int(\d+)be$/ => [:big, :signed], /^Int(\d+)le$/ => [:little, :signed], } mappings.each_pair do |regex, args| if regex =~ name nbits = $1.to_i if (nbits % 8).zero? return Int.define_class(nbits, *args) end end end const_missing_without_int(name) end