module Luban::Deployment::Applications::Rack::WebServer

Public Instance Methods

current_web_server() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 20
def current_web_server; web_server[:name]; end
default_web_server_options() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 8
def default_web_server_options
  raise NotImplementedError, "#{self.class.name}##{__method__} is an abstract method."
end
publish_web_server() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 22
def publish_web_server; end
web_servers_available() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 12
def web_servers_available
  @web_servers ||= [:thin, :puma]
end
web_servers_unused() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 16
def web_servers_unused
  @web_servers_unused ||= web_servers_available.select { |s| s != current_web_server }
end

Protected Instance Methods

init() click to toggle source
Calls superclass method
# File lib/luban/deployment/applications/rack/web_server.rb, line 26
def init
  load_web_server
  super
end
load_web_server() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 31
def load_web_server
  require web_server_require_path
  singleton_class.send(:prepend, web_server_module(web_server_require_path))
rescue LoadError => e
  abort "Aborted! Failed to load web server #{current_web_server.inspect}."
end
set_web_server_options() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 50
def set_web_server_options
  web_server[:opts] = default_web_server_options.merge(web_server[:opts])
end
web_server_module(path) click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 46
def web_server_module(path)
  @web_server_module ||= Object.const_get(path.to_s.camelcase, false)
end
web_server_require_path() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 38
def web_server_require_path
  @web_server_require_path ||= web_server_require_root.join(current_web_server.to_s)
end
web_server_require_root() click to toggle source
# File lib/luban/deployment/applications/rack/web_server.rb, line 42
def web_server_require_root
  @web_server_require_root ||= Pathname.new("luban/deployment/applications/rack/web_servers")
end