class Nonnative::Configuration
Attributes
processes[RW]
servers[RW]
services[RW]
strategy[R]
Public Class Methods
new()
click to toggle source
# File lib/nonnative/configuration.rb, line 5 def initialize @strategy = Strategy.new @processes = [] @servers = [] @services = [] end
Public Instance Methods
load_file(path)
click to toggle source
# File lib/nonnative/configuration.rb, line 15 def load_file(path) file = YAML.load_file(path) self.strategy = file['strategy'] add_processes(file) add_servers(file) add_services(file) end
process() { |process| ... }
click to toggle source
# File lib/nonnative/configuration.rb, line 29 def process process = Nonnative::ConfigurationProcess.new yield process processes << process end
server() { |server| ... }
click to toggle source
# File lib/nonnative/configuration.rb, line 36 def server server = Nonnative::ConfigurationServer.new yield server servers << server end
service() { |service| ... }
click to toggle source
# File lib/nonnative/configuration.rb, line 43 def service service = Nonnative::ConfigurationService.new yield service services << service end
strategy=(value)
click to toggle source
# File lib/nonnative/configuration.rb, line 25 def strategy=(value) @strategy = Strategy.new(value) end
Private Instance Methods
add_processes(file)
click to toggle source
# File lib/nonnative/configuration.rb, line 52 def add_processes(file) processes = file['processes'] || [] processes.each do |fd| process do |d| d.name = fd['name'] d.command = command(fd) d.timeout = fd['timeout'] d.port = fd['port'] d.log = fd['log'] d.signal = fd['signal'] d.environment = fd['environment'] proxy d, fd['proxy'] end end end
add_servers(file)
click to toggle source
# File lib/nonnative/configuration.rb, line 79 def add_servers(file) servers = file['servers'] || [] servers.each do |fd| server do |s| s.name = fd['name'] s.klass = Object.const_get(fd['class']) s.timeout = fd['timeout'] s.port = fd['port'] s.log = fd['log'] proxy s, fd['proxy'] end end end
add_services(file)
click to toggle source
# File lib/nonnative/configuration.rb, line 94 def add_services(file) services = file['services'] || [] services.each do |fd| service do |s| s.name = fd['name'] s.port = fd['port'] proxy s, fd['proxy'] end end end
command(process)
click to toggle source
# File lib/nonnative/configuration.rb, line 69 def command(process) go = process['go'] if go params = go['parameters'] || [] Nonnative.go_executable(go['output'], go['executable'], go['command'], *params) else process['command'] end end
proxy(runner, proxy)
click to toggle source
# File lib/nonnative/configuration.rb, line 106 def proxy(runner, proxy) return unless proxy runner.proxy = { type: proxy['type'], port: proxy['port'], log: proxy['log'], options: proxy['options'] } end