class PhusionPassenger::Standalone::ConfigFile

def address(addr)

def address(addr)
	allowed_contexts(:port, :global_config)
	@options[:address] = addr
	@options[:tcp_explicitly_given] = true
end

def allowed_contexts(option_name, *contexts)

def allowed_contexts(option_name, *contexts)
	if !contexts.include?(@context)
		raise DisallowedContextError.new("The '#{option_name}' option may not be set in this config file.",
			@filename, caller[1].split(':')[1].to_i)
	end
end

def analytics(value)

def analytics(value)
	@options[:analytics] = value
end

def daemonize(on)

def daemonize(on)
	allowed_contexts(:daemonize, :global_config)
	@options[:daemonize] = on
end

def debugger(value)

def debugger(value)
	@options[:debugger] = value
end

def domain_name(name)

def domain_name(name)
	allowed_contexts(:domain_name, :local_config)
	@options[:server_names] = [name]
end

def domain_names(*names)

def domain_names(*names)
	allowed_contexts(:domain_names, :local_config)
	@options[:server_names] = names.to_a.flatten
end

def environment(name)

def environment(name)
	@options[:env] = name
end

def initialize(context, filename)

def initialize(context, filename)
	@options  = {}
	@context  = context
	@filename = filename
	File.open(filename, 'r') do |f|
		f.flock(File::LOCK_SH)
		instance_eval(f.read, filename)
	end
end

def max_pool_size(number)

def max_pool_size(number)
	allowed_contexts(:max_pool_size, :global_config)
	@options[:max_pool_size] = number
end

def min_instances(number)

def min_instances(number)
	@options[:min_instances] = number
end

def nginx_bin(filename)

def nginx_bin(filename)
	allowed_contexts(:nginx_bin, :global_config)
	@options[:nginx_bin] = filename
end

def port(number)

def port(number)
	allowed_contexts(:port, :global_config)
	@options[:port] = number
	@options[:tcp_explicitly_given] = true
end