class Freedom::Application
Public Class Methods
new(options = {})
click to toggle source
Calls superclass method
Freedom::BaseApplication::new
# File lib/freedom/core/application.rb, line 114 def initialize(options = {}) super() @options = options.clone @middlewares = default_middlewares @rack_server = nil end
start(options = {})
click to toggle source
# File lib/freedom/core/application.rb, line 110 def self.start(options = {}) self.new(options).start end
Public Instance Methods
add_middleware(middleware_class, *middleware_args)
click to toggle source
# File lib/freedom/core/application.rb, line 141 def add_middleware(middleware_class, *middleware_args) @middlewares << [middleware_class, *middleware_args] end
build()
click to toggle source
# File lib/freedom/core/application.rb, line 125 def build builder = Rack::Builder.new(self) @middlewares.each do |middleware_array| builder.use(*middleware_array) end rack_options = @options rack_options[:app] = builder.to_app rack_options[:Port] = 5700 unless rack_options[:Port] @rack_server = Rack::Server.new(rack_options) end
built?()
click to toggle source
# File lib/freedom/core/application.rb, line 121 def built? !!@rack_server end
start()
click to toggle source
# File lib/freedom/core/application.rb, line 136 def start build unless built? @rack_server.start end
Private Instance Methods
default_middlewares()
click to toggle source
# File lib/freedom/core/application.rb, line 147 def default_middlewares [ [Rack::CommonLogger, ::Logger.new(Config.log_file_name)], [Rack::Protection::PathTraversal], ] end