Class: MachO::LoadCommands::RpathCommand

Inherits:
LoadCommand show all
Defined in:
lib/macho/load_commands.rb

Overview

A load command representing an rpath, which specifies a path that should be added to the current run path used to find @rpath prefixed dylibs. Corresponds to LC_RPATH.

Instance Method Summary collapse

Methods inherited from LoadCommand

#cmd, #cmdsize, create, new_from_bin, #offset, #serializable?, #to_s, #type, #view

Methods inherited from MachOStructure

bytesize, format, #initialize, new_from_bin

Constructor Details

This class inherits a constructor from MachO::MachOStructure

Instance Method Details

#pathLCStr



1040
# File 'lib/macho/load_commands.rb', line 1040

field :path, :lcstr, :to_s => true

#serialize(context) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the serialized fields of the load command.



1045
1046
1047
1048
1049
1050
1051
1052
# File 'lib/macho/load_commands.rb', line 1045

def serialize(context)
  format = Utils.specialize_format(self.class.format, context.endianness)
  string_payload, string_offsets = Utils.pack_strings(self.class.bytesize,
                                                      context.alignment,
                                                      :path => path.to_s)
  cmdsize = self.class.bytesize + string_payload.bytesize
  [cmd, cmdsize, string_offsets[:path]].pack(format) + string_payload
end

#to_hHash



1055
1056
1057
1058
1059
# File 'lib/macho/load_commands.rb', line 1055

def to_h
  {
    "path" => path.to_h,
  }.merge super
end