class TrisulRP::Keys::HNumber

Public Class Methods

invert_xform(width,dstring) { |ret| ... } click to toggle source

human string to key

> width padding eg to output 000B when input = 11 and field is a 2 byte

> dstring input decimal

# File lib/trisulrp/keys.rb, line 26
def self.invert_xform(width,dstring)
  ret = dstring.to_i.to_s(16).rjust(width,"0").upcase
  yield ret if block_given?
  ret
end
is_human_form?(patt) click to toggle source

is_human_pattern?

# File lib/trisulrp/keys.rb, line 39
def self.is_human_form? patt
  patt.to_i > 0 or patt.squeeze("0") == "0"
end
is_key_form?(patt) click to toggle source

is_key_pattern?

# File lib/trisulrp/keys.rb, line 33
def self.is_key_form? patt
  return false if patt.nil?
  [2,4,8].member? patt.length and patt =~ /(\d|[a-f]|[A-F])+/
end
xform(kstring) { |ret| ... } click to toggle source

key to human string

> width unused

> kstring = hex number like A011

output is a decimal number

# File lib/trisulrp/keys.rb, line 17
def self.xform(kstring)
  ret = kstring.hex.to_s
  yield ret if block_given?
  ret
end