Class: Kuby::Docker::WebserverPhase
- Extended by:
- T::Sig
- Defined in:
- lib/kuby/docker/webserver_phase.rb
Defined Under Namespace
Constant Summary collapse
- DEFAULT_PORT =
T.let(8080, Integer)
- WEBSERVER_MAP =
T.let({ puma: Puma }.freeze, T::Hash[Symbol, T.class_of(Webserver)])
Instance Attribute Summary collapse
- #port ⇒ Object
-
#webserver ⇒ Object
Returns the value of attribute webserver.
Attributes inherited from Layer
Instance Method Summary collapse
- #apply_to(dockerfile) ⇒ Object
-
#initialize(environment) ⇒ WebserverPhase
constructor
A new instance of WebserverPhase.
Constructor Details
#initialize(environment) ⇒ WebserverPhase
Returns a new instance of WebserverPhase.
55 56 57 58 59 60 |
# File 'lib/kuby/docker/webserver_phase.rb', line 55 def initialize(environment) super @port = T.let(@port, T.nilable(Integer)) @webserver = T.let(@webserver, T.nilable(Symbol)) end |
Instance Attribute Details
#port ⇒ Object
72 73 74 |
# File 'lib/kuby/docker/webserver_phase.rb', line 72 def port @port || DEFAULT_PORT end |
#webserver ⇒ Object
Returns the value of attribute webserver.
49 50 51 |
# File 'lib/kuby/docker/webserver_phase.rb', line 49 def webserver @webserver end |
Instance Method Details
#apply_to(dockerfile) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/kuby/docker/webserver_phase.rb', line 63 def apply_to(dockerfile) ws = webserver || default_webserver ws_class = WEBSERVER_MAP[T.must(ws)] raise "No webserver named #{ws}" unless ws_class ws_class.new(self).apply_to(dockerfile) end |