module DmmUtil::FormatConvertors

Public Instance Methods

get_double(str, offset) click to toggle source
# File lib/dmm_util/format_convertors.rb, line 19
def get_double(str, offset)
  bytestr = str[offset, 8]
  endianstr = bytestr[0,4].reverse + bytestr[4,4].reverse
  endianstr.unpack("G")[0]
end
get_s16(str, offset) click to toggle source
# File lib/dmm_util/format_convertors.rb, line 11
def get_s16(str, offset)
  val = get_u16(str, offset)
  unless (val & 0x8000) == 0
    val = -(0x10000 - val)
  end
  val
end
get_time(str, offset) click to toggle source
# File lib/dmm_util/format_convertors.rb, line 25
def get_time(str, offset)
  parse_time(get_double(str, offset))
end
get_u16(str, offset) click to toggle source
# File lib/dmm_util/format_convertors.rb, line 5
def get_u16(str, offset)
  lo_byte = str[offset]
  hi_byte = str[offset + 1]
  hi_byte * 0x100 + lo_byte
end
parse_time(t) click to toggle source
# File lib/dmm_util/format_convertors.rb, line 29
def parse_time(t)
  tz_offset = Time.now.utc_offset
  Time.at(t - tz_offset)
end
quote_str(str) click to toggle source
# File lib/dmm_util/format_convertors.rb, line 34
def quote_str(str)
  has_single = str.include?("'")
  has_double = str.include?('"')
  
  if has_single && !has_double
    "\"#{str}\""
  else
    "'#{str.gsub(/'/, "''")}'"
  end
end