Class: Nginx::ServerBlock

Inherits:
Object
  • Object
show all
Defined in:
lib/shared_infrastructure/nginx/server_block.rb

Direct Known Subclasses

SiteServerBlock, TlsRedirectServerBlock

Instance Method Summary collapse

Constructor Details

#initialize(upstream: nil, server: nil, listen: nil, location: nil) ⇒ ServerBlock

Returns a new instance of ServerBlock.



7
8
9
10
11
12
# File 'lib/shared_infrastructure/nginx/server_block.rb', line 7

def initialize(upstream: nil, server: nil, listen: nil, location: nil)
  @listen = listen
  @location = Array(location)
  @server = server
  @upstream = upstream
end

Instance Method Details

#saveObject



14
15
16
17
18
19
# File 'lib/shared_infrastructure/nginx/server_block.rb', line 14

def save
  File.open(Nginx.server_block_location(server.domain_name), "w") do |f|
    f << to_s
  end
  `ln -fs ../sites-available/#{server.domain_name} #{Nginx.enabled_server_block_location(server.domain_name)}`
end

#to_sObject



21
22
23
24
25
26
# File 'lib/shared_infrastructure/nginx/server_block.rb', line 21

def to_s
  [
    upstream_string,
    server_block_string
  ].compact.join("\n\n")
end