Class: Kuby::Docker::PackageList
- Inherits:
-
Object
- Object
- Kuby::Docker::PackageList
- Extended by:
- T::Generic, T::Sig
- Includes:
- Enumerable
- Defined in:
- lib/kuby/docker/package_list.rb
Constant Summary collapse
- Elem =
type_member(fixed: Distro::PackageImpl)
Instance Attribute Summary collapse
-
#packages ⇒ Object
readonly
Returns the value of attribute packages.
Instance Method Summary collapse
- #[](name) ⇒ Object
- #add(name, version = nil) ⇒ Object
- #delete(name) ⇒ Object
- #each(&block) ⇒ Object
- #empty? ⇒ Boolean
-
#initialize(package_tuples) ⇒ PackageList
constructor
A new instance of PackageList.
Constructor Details
#initialize(package_tuples) ⇒ PackageList
Returns a new instance of PackageList.
17 18 19 20 |
# File 'lib/kuby/docker/package_list.rb', line 17 def initialize(package_tuples) @packages = T.let([], T::Array[Distro::PackageImpl]) package_tuples.each { |name, version| add(name, version) } end |
Instance Attribute Details
#packages ⇒ Object (readonly)
Returns the value of attribute packages.
14 15 16 |
# File 'lib/kuby/docker/package_list.rb', line 14 def packages @packages end |
Instance Method Details
#[](name) ⇒ Object
23 24 25 |
# File 'lib/kuby/docker/package_list.rb', line 23 def [](name) packages.find { |pkg| pkg.name == name } end |
#add(name, version = nil) ⇒ Object
28 29 30 |
# File 'lib/kuby/docker/package_list.rb', line 28 def add(name, version = nil) packages << Packages::Package.new(name, version) end |
#delete(name) ⇒ Object
33 34 35 |
# File 'lib/kuby/docker/package_list.rb', line 33 def delete(name) packages.delete_if { |pkg| pkg.name == name } end |
#each(&block) ⇒ Object
43 44 45 |
# File 'lib/kuby/docker/package_list.rb', line 43 def each(&block) packages.each(&block) end |
#empty? ⇒ Boolean
48 49 50 |
# File 'lib/kuby/docker/package_list.rb', line 48 def empty? packages.empty? end |