Class: Kuby::Docker::Distro

Inherits:
Object
  • Object
show all
Extended by:
T::Helpers, T::Sig
Defined in:
lib/kuby/docker/distro.rb

Direct Known Subclasses

Alpine, Debian

Constant Summary collapse

PackageImpl =
T.type_alias {
  T.any(Packages::Package, Packages::ManagedPackage, Packages::SimpleManagedPackage)
}
ManagedPackageImpl =
T.type_alias {
  T.any(Packages::ManagedPackage, Packages::SimpleManagedPackage)
}

Instance Method Summary collapse

Constructor Details

#initialize(phase) ⇒ Distro

Returns a new instance of Distro.



20
21
22
# File 'lib/kuby/docker/distro.rb', line 20

def initialize(phase)
  @phase = phase
end

Instance Method Details

#default_packagesObject

Raises:

  • (NotImplementedError)


31
32
33
34
# File 'lib/kuby/docker/distro.rb', line 31

def default_packages
  raise NotImplementedError,
    "#{__method__} must be defined in derived classes"
end

#install(packages, into:) ⇒ Object

Raises:

  • (NotImplementedError)


25
26
27
28
# File 'lib/kuby/docker/distro.rb', line 25

def install(packages, into:)
  raise NotImplementedError,
    "#{__method__} must be defined in derived classes"
end

#shell_exeObject

Raises:

  • (NotImplementedError)


37
38
39
40
# File 'lib/kuby/docker/distro.rb', line 37

def shell_exe
  raise NotImplementedError,
    "#{__method__} must be defined in derived classes"
end