Class: Kuby::Docker::WebserverPhase
- Defined in:
- lib/kuby/docker/webserver_phase.rb
Defined Under Namespace
Constant Summary collapse
- DEFAULT_PORT =
8080
- DEFAULT_WORKERS =
4
- WEBSERVER_MAP =
{ puma: Puma }.freeze
Instance Attribute Summary collapse
-
#port ⇒ Object
T::Sig::WithoutRuntime.sig { returns(Integer) }.
-
#webserver ⇒ Object
T::Sig::WithoutRuntime.sig { returns(T.nilable(Symbol)) }.
-
#workers ⇒ Object
T::Sig::WithoutRuntime.sig { returns(Integer) }.
Attributes inherited from Layer
Instance Method Summary collapse
-
#apply_to(dockerfile) ⇒ Object
T::Sig::WithoutRuntime.sig { override.params(dockerfile: Dockerfile).void }.
-
#initialize(environment) ⇒ WebserverPhase
constructor
T::Sig::WithoutRuntime.sig { override.params(environment: Environment).void }.
Constructor Details
#initialize(environment) ⇒ WebserverPhase
T::Sig::WithoutRuntime.sig { override.params(environment: Environment).void }
59 60 61 62 63 64 65 |
# File 'lib/kuby/docker/webserver_phase.rb', line 59 def initialize(environment) super # @port = T.let(@port, T.nilable(Integer)) # @workers = T.let(@workers, T.nilable(Integer)) # @webserver = T.let(@webserver, T.nilable(Symbol)) end |
Instance Attribute Details
#port ⇒ Object
T::Sig::WithoutRuntime.sig { returns(Integer) }
77 78 79 |
# File 'lib/kuby/docker/webserver_phase.rb', line 77 def port @port || DEFAULT_PORT end |
#webserver ⇒ Object
T::Sig::WithoutRuntime.sig { returns(T.nilable(Symbol)) }
53 54 55 |
# File 'lib/kuby/docker/webserver_phase.rb', line 53 def webserver @webserver end |
#workers ⇒ Object
T::Sig::WithoutRuntime.sig { returns(Integer) }
82 83 84 |
# File 'lib/kuby/docker/webserver_phase.rb', line 82 def workers @workers || DEFAULT_WORKERS end |
Instance Method Details
#apply_to(dockerfile) ⇒ Object
T::Sig::WithoutRuntime.sig { override.params(dockerfile: Dockerfile).void }
68 69 70 71 72 73 74 |
# File 'lib/kuby/docker/webserver_phase.rb', line 68 def apply_to(dockerfile) ws = webserver || default_webserver ws_class = WEBSERVER_MAP[ws] raise "No webserver named #{ws}" unless ws_class ws_class.new(self).apply_to(dockerfile) end |