Class: AptControl::PackageState

Inherits:
Object
  • Object
show all
Defined in:
lib/apt_control/package_states.rb

Overview

Brings together the state of a particular package in a particular distribution

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ PackageState

Returns a new instance of PackageState.



28
29
30
31
32
33
# File 'lib/apt_control/package_states.rb', line 28

def initialize(options)
  @dist          = options.fetch(:dist)
  @rule          = options.fetch(:rule)
  @apt_site      = options.fetch(:apt_site)
  @build_archive = options.fetch(:build_archive)
end

Instance Attribute Details

#distObject (readonly)

Returns the value of attribute dist.



26
27
28
# File 'lib/apt_control/package_states.rb', line 26

def dist
  @dist
end

#ruleObject (readonly)

Returns the value of attribute rule.



26
27
28
# File 'lib/apt_control/package_states.rb', line 26

def rule
  @rule
end

Instance Method Details

#availableObject



39
40
41
# File 'lib/apt_control/package_states.rb', line 39

def available
  @available ||= (@build_archive[rule.package_name] || [])
end

#available?Boolean

Returns:

  • (Boolean)


45
# File 'lib/apt_control/package_states.rb', line 45

def available? ;   available.any?    ; end

#includeable?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/apt_control/package_states.rb', line 51

def includeable?
  available? && rule.includeable?(included, available)
end

#includeable_toObject



55
56
57
# File 'lib/apt_control/package_states.rb', line 55

def includeable_to
  rule.includeable_to(available)
end

#includedObject



35
36
37
# File 'lib/apt_control/package_states.rb', line 35

def included
  @included ||= @apt_site.included_version(dist.name, rule.package_name)
end

#included?Boolean

Returns:

  • (Boolean)


44
# File 'lib/apt_control/package_states.rb', line 44

def included? ;    !! included       ; end

#package_nameObject



43
# File 'lib/apt_control/package_states.rb', line 43

def package_name ; rule.package_name ; end

#satisfied?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/apt_control/package_states.rb', line 47

def satisfied?
  included? && rule.satisfied_by?(included)
end