Module: PeInfo::Tarball

Defined in:
lib/pe_info/tarball.rb

Class Method Summary collapse

Class Method Details

.agent_version(tarball) ⇒ Object



15
16
17
18
19
20
# File 'lib/pe_info/tarball.rb', line 15

def self.agent_version(tarball)
  agent_package = %x(tar ztf #{tarball} '**/puppet-agent*')
  agent_version = agent_package.match(/puppet-agent-(\d+\.\d+\.\d+)/).captures.first

  agent_version
end

.inspect(tarball) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/pe_info/tarball.rb', line 22

def self.inspect(tarball)
  if is_pe_tarball(tarball)
    if File.exists?(tarball)

      # capture the main version
      pe_version = pe_version(tarball)

      # look for the agent version
      agent_version = agent_version(tarball)
    else
      raise "File not found: #{tarball}"
    end
  else
    raise "Not a puppet install tarball: #{tarball}"
  end
  return pe_version, agent_version
end

.is_pe_tarball(tarball) ⇒ Object



5
6
7
# File 'lib/pe_info/tarball.rb', line 5

def self.is_pe_tarball(tarball)
  tarball =~ /puppet-enterprise-\d{4}\.\d+\.\d+.*\.tar\.gz/
end

.pe_version(tarball) ⇒ Object



9
10
11
12
13
# File 'lib/pe_info/tarball.rb', line 9

def self.pe_version(tarball)
  pe_version = tarball.match(/puppet-enterprise-(\d{4}\.\d+\.\d+)/).captures.first

  pe_version
end