lib/local_pac/main.rb in local_pac-0.1.11 vs lib/local_pac/main.rb in local_pac-0.1.13

- old
+ new

@@ -1,23 +1,60 @@ # encoding: utf-8 module LocalPac @config_semaphore = Mutex.new @logger_semaphore = Mutex.new + @routing_semaphore = Mutex.new class << self attr_reader :config_semaphore attr_reader :logger_semaphore + attr_reader :routing_semaphore attr_accessor :debug_mode - def config(local_config = LocalPac::Config.new) + def config config_semaphore.synchronize do - @config ||= local_config + @config ||= LocalPac::Config.new end end + def config=(config) + @config = config + end + def ui_logger(local_logger = LocalPac::UiLogger.new) logger_semaphore.synchronize do @ui_logger ||= local_logger end end + + def error_id + SecureRandom.hex + end + + def routing + routing_semaphore.synchronize do + @routing ||= Rack::Builder.new do + require_relative File.expand_path('../../../app/controllers/application_controller.rb', __FILE__) + Dir.glob(File.expand_path('../../../app/controllers/*.rb', __FILE__)).each { |f| require_relative f } + + map '/' do + run LocalPac::App::FileServeController + end + + map '/v1/pac/' do + run LocalPac::App::FileServeController + end + + map '/v1/lookup/' do + run LocalPac::App::LookupController + end + + map LocalPac::App::ApplicationController.assets_prefix do + run LocalPac::App::ApplicationController.assets + end + end + end + end end + + end