class Base
Attributes
data[R]
debug[R]
Public Class Methods
new()
click to toggle source
# File lib/elfcat/base.rb, line 4 def initialize @data = Hash.new @debug = Proc.new { self.debug } end
Public Instance Methods
[](_name)
click to toggle source
# File lib/elfcat/base.rb, line 13 def [](_name) return @data[_name] end
method_missing(_method)
click to toggle source
# File lib/elfcat/base.rb, line 9 def method_missing _method return @data[_method][:data] end
parse_slice(_address, _length)
click to toggle source
# File lib/elfcat/base.rb, line 34 def parse_slice _address, _length return $resource.slice(_address, _length).split(/\x0/).dup end
parse_struct(_struct, _resource, _element_count, _element_size)
click to toggle source
# File lib/elfcat/base.rb, line 21 def parse_struct _struct, _resource, _element_count, _element_size _element_count.times do |i| st = Hash.new struct_address = i * _element_size _struct.each do |k, v| st[k] = Util.concatenate(_resource, struct_address + v[0], v[1]) end @data[i] = st.dup end end