Module: Rails::Nginx

Defined in:
lib/rails/nginx.rb,
lib/rails/nginx/version.rb,
lib/rails/nginx/configuration.rb

Defined Under Namespace

Classes: Configuration, Error

Constant Summary collapse

VERSION =
"1.1.0"

Class Method Summary collapse

Class Method Details

.portObject



12
13
14
# File 'lib/rails/nginx.rb', line 12

def self.port
  ENV["PORT"] ||= Addrinfo.tcp("127.0.0.1", 0).bind { |s| s.local_address.ip_port }.to_s
end

.start!(options = {}, &block) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/rails/nginx.rb', line 16

def self.start!(options = {}, &block)
  rails_config = Configuration.new(options)
  return unless rails_config.rails_server?

  config = Ruby::Nginx.add!(rails_config.nginx_options, &block)

  puts start_message(config.options)
rescue Ruby::Nginx::Error => e
  abort "[Ruby::Nginx] #{e.message}"
end

.stop!(options = {}, &block) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/rails/nginx.rb', line 27

def self.stop!(options = {}, &block)
  rails_config = Configuration.new(options)
  return unless rails_config.rails_server? && rails_config.teardown?

  puts stop_message(rails_config.nginx_options)
  Ruby::Nginx.remove!(rails_config.nginx_options, &block)
rescue Ruby::Nginx::Error => e
  abort "[Ruby::Nginx] #{e.message}"
end