Sha256: 7074f3664328ad0c44ffd67d807d5ce77a5c47ec334b2800071c5708e0d9d2a7

Contents?: true

Size: 1013 Bytes

Versions: 1

Compression:

Stored size: 1013 Bytes

Contents

require 'geong/geocoder'
require 'geong/server/configuration'
require 'logger'
require 'optparse'

module Geong
  class Server
    @@default_configuration = Configuration.new
    
    def self.start(argv)
      params = ARGV.getopts('','daemon', 'config:')
      
      config_filepath = params["config"] ? File.expand_path(params["config"]) : nil
      
      if config_filepath
        @@default_configuration.logger.info "Load config file. #{config_filepath}"
        load config_filepath
      end

      if params["daemon"]
        Process.daemon
      end

      new(@@default_configuration).serve
    end
    
    def self.configure(&block)
      @@default_configuration.configure(&block)
    end

    def initialize(configuration)
      @configuration = configuration
      @logger = configuration.logger
      @server = configuration.get_server
    end
    
    def serve
      @logger.info "Starting the geong server..."
      @server.serve()
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
geong-0.0.2 lib/geong/server.rb