Class: MachO::SourceVersionCommand

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

Overview

A load command specifying the version of the sources used to build the binary. Corresponds to LC_SOURCE_VERSION.

Instance Attribute Summary collapse

Attributes inherited from LoadCommand

#cmd, #cmdsize, #offset

Instance Method Summary collapse

Methods inherited from LoadCommand

new_from_bin, #to_s

Methods inherited from MachOStructure

bytesize, new_from_bin

Constructor Details

#initialize(raw_data, offset, cmd, cmdsize, version) ⇒ SourceVersionCommand

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 a new instance of SourceVersionCommand.



1110
1111
1112
1113
# File 'lib/macho/load_commands.rb', line 1110

def initialize(raw_data, offset, cmd, cmdsize, version)
	super(raw_data, offset, cmd, cmdsize)
	@version = version
end

Instance Attribute Details

#versionFixnum (readonly)

Returns the version packed as a24.b10.c10.d10.e10.

Returns:

  • (Fixnum)

    the version packed as a24.b10.c10.d10.e10



1104
1105
1106
# File 'lib/macho/load_commands.rb', line 1104

def version
  @version
end

Instance Method Details

#version_stringString

A string representation of the sources used to build the binary.

Returns:

  • (String)

    a string representation of the version



1117
1118
1119
1120
1121
1122
1123
1124
1125
# File 'lib/macho/load_commands.rb', line 1117

def version_string
	binary = "%064b" % version
	segs = [
		binary[0..23], binary[24..33], binary[34..43], binary[44..53],
		binary[54..63]
	].map { |s| s.to_i(2) }

	segs.join(".")
end