Class: MiqConaryPackages

Inherits:
Object
  • Object
show all
Defined in:
lib/metadata/linux/MiqConaryPackages.rb

Instance Method Summary collapse

Constructor Details

#initialize(fs, dbFile) ⇒ MiqConaryPackages

Returns a new instance of MiqConaryPackages.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/metadata/linux/MiqConaryPackages.rb', line 6

def initialize(fs, dbFile)
  @pkgDb = MiqSqlite3DB::MiqSqlite3.new(dbFile, fs)

  tVersions  = @pkgDb.getTable("Versions")
  tInstances = @pkgDb.getTable("Instances")

  @versions = {}
  tVersions.each_row do |row|
    id            = row['versionId']
    @versions[id] = row['version']
  end

  @troves = {}
  tInstances.each_row do |row|
    troveName = row['troveName']
    versionId = row['versionId']
    @troves[troveName] = versionId if @versions.key?(versionId) && !troveName.include?(":") && row['isPresent']
  end
end

Instance Method Details

#closeObject

def each



38
39
40
# File 'lib/metadata/linux/MiqConaryPackages.rb', line 38

def close
  @pkgDb.close
end

#eachObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/metadata/linux/MiqConaryPackages.rb', line 26

def each
  @troves.keys.sort.each do |t|
    versionId = @troves[t]
    pkg  = MiqHashStruct.new
    pkg.name      = t
    pkg.version   = @versions[versionId]
    pkg.installed = true

    yield pkg
  end
end