Class: Hako::Scripts::NginxFront::Generator
- Inherits:
-
Object
- Object
- Hako::Scripts::NginxFront::Generator
- Defined in:
- lib/hako/scripts/nginx_front.rb
Defined Under Namespace
Classes: Location
Instance Method Summary collapse
- #client_max_body_size ⇒ String? private
-
#initialize(options) ⇒ Generator
constructor
A new instance of Generator.
- #listen_spec ⇒ String private
- #locations ⇒ Hash<String, Location> private
- #nginx_conf_erb ⇒ String private
- #nginx_location_conf_erb ⇒ String private
- #render ⇒ String
- #render_location(listen_spec, location) ⇒ String private
- #templates_directory ⇒ String private
Constructor Details
#initialize(options) ⇒ Generator
Returns a new instance of Generator.
98 99 100 101 |
# File 'lib/hako/scripts/nginx_front.rb', line 98 def initialize() @options = @backend_port = .fetch('backend_port') end |
Instance Method Details
#client_max_body_size ⇒ String? (private)
140 141 142 |
# File 'lib/hako/scripts/nginx_front.rb', line 140 def client_max_body_size @options.fetch('client_max_body_size', nil) end |
#listen_spec ⇒ String (private)
111 112 113 |
# File 'lib/hako/scripts/nginx_front.rb', line 111 def listen_spec "backend:#{@backend_port}" end |
#locations ⇒ Hash<String, Location> (private)
131 132 133 134 135 136 137 |
# File 'lib/hako/scripts/nginx_front.rb', line 131 def locations locs = @options.fetch('locations').dup locs.keys.each do |k| locs[k] = Location.new(locs[k]) end locs end |
#nginx_conf_erb ⇒ String (private)
121 122 123 |
# File 'lib/hako/scripts/nginx_front.rb', line 121 def nginx_conf_erb File.join(templates_directory, 'nginx.conf.erb') end |
#nginx_location_conf_erb ⇒ String (private)
126 127 128 |
# File 'lib/hako/scripts/nginx_front.rb', line 126 def nginx_location_conf_erb File.join(templates_directory, 'nginx.location.conf.erb') end |
#render ⇒ String
104 105 106 |
# File 'lib/hako/scripts/nginx_front.rb', line 104 def render ERB.new(File.read(nginx_conf_erb), nil, '-').result(binding) end |
#render_location(listen_spec, location) ⇒ String (private)
147 148 149 150 151 |
# File 'lib/hako/scripts/nginx_front.rb', line 147 def render_location(listen_spec, location) ERB.new(File.read(nginx_location_conf_erb), nil, '-').result(binding).each_line.map do |line| " #{line}" end.join('') end |
#templates_directory ⇒ String (private)
116 117 118 |
# File 'lib/hako/scripts/nginx_front.rb', line 116 def templates_directory File.('../../templates', __FILE__) end |