Class: Rake::Funnel::Support::BinaryVersionReader

Inherits:
Object
  • Object
show all
Defined in:
lib/rake/funnel/support/binary_version_reader.rb

Constant Summary collapse

KNOWN_ATTRIBUTES =
i(company_name
file_description
file_version
legal_copyright
product_name
product_version
assembly_version).freeze
SEPARATOR =
"\0".freeze
TERMINATOR =
"\0" * 3

Class Method Summary collapse

Class Method Details

.read_from(assembly) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/rake/funnel/support/binary_version_reader.rb', line 16

def read_from(assembly)
  binary = File.binread(assembly)

  attributes = KNOWN_ATTRIBUTES.map do |attr|
    read_attribute(binary, attr)
  end

  hash = attributes.inject({}) do |memo, attr|
    memo.merge(attr)
  end

  VersionInfo.new(hash)
end