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