Class: PuppetForgeServer::Server
- Inherits:
-
Object
- Object
- PuppetForgeServer::Server
- Includes:
- Utils::Http, Utils::OptionParser
- Defined in:
- lib/puppet_forge_server/server.rb
Instance Method Summary collapse
- #announce(options, backends) ⇒ Object
- #build(backends) ⇒ Object
- #go(args) ⇒ Object
- #logging(options) ⇒ Object
- #start(server, options) ⇒ Object
Methods included from Utils::Http
Methods included from Utils::OptionParser
Methods included from Utils::Url
Instance Method Details
#announce(options, backends) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/puppet_forge_server/server.rb', line 58 def announce(, backends) = .clone .default = 'default' @log.info " +- Daemonizing: #{[:daemonize]}" @log.info " |- Port: #{[:port]}" @log.info " |- Host: #{[:hostname]}" @log.info " |- Pidfile: #{[:pidfile]}" if [:pidfile] @log.info " |- Server: #{[:server]}" @log.info ' `- Backends:' backends.each do |backend| @log.info " - #{backend.inspect}" end end |
#build(backends) ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/puppet_forge_server/server.rb', line 49 def build(backends) Rack::Mount::RouteSet.new do |set| set.add_route PuppetForgeServer::App::Generic.new set.add_route PuppetForgeServer::App::Version1.new(backends) set.add_route PuppetForgeServer::App::Version2.new(backends) set.add_route PuppetForgeServer::App::Version3.new(backends) end end |
#go(args) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/puppet_forge_server/server.rb', line 24 def go(args) begin = (args) @log = logging() backends = backends() server = build(backends) announce(, backends) start(server, ) rescue PuppetForgeServer::Errors::Expected @log.error error end end |
#logging(options) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/puppet_forge_server/server.rb', line 37 def logging() if [:log_dir] FileUtils.mkdir_p [:log_dir] server_loggers = [File.join([:log_dir], 'server.log')] server_loggers << STDERR if [:debug] access_loggers = [File.join([:log_dir], 'access.log')] access_loggers << STDERR if [:debug] PuppetForgeServer::Logger.set({:server => server_loggers, :access => access_loggers}) end PuppetForgeServer::Logger.get end |
#start(server, options) ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/puppet_forge_server/server.rb', line 72 def start(server, ) FileUtils.mkdir_p File.dirname([:pidfile]) if [:pidfile] Rack::Server.start( :app => server, :Host => [:hostname], :Port => [:port], :server => [:server], :daemonize => [:daemonize], :pid => [:pidfile] ) end |