class Orbit::Application
Attributes
builder[R]
Public Class Methods
config()
click to toggle source
# File lib/orbit.rb, line 51 def self.config @config ||= Orbit::Config.instance end
configure() { |config| ... }
click to toggle source
# File lib/orbit.rb, line 59 def self.configure yield config end
new()
click to toggle source
# File lib/orbit.rb, line 13 def initialize instantiate setup_builder load_middleware loader = Loaders::DirectoryLoader.load @reloader = loader.reloader end
start()
click to toggle source
# File lib/orbit.rb, line 63 def self.start instance || new instance.start end
Public Instance Methods
call(env)
click to toggle source
# File lib/orbit.rb, line 74 def call(env) @reloader.reload @request = config.request_class.new(env) verb = @request.request_method requested_path = @request.path_info route = Config.router_class.match(verb, requested_path) if route intercepted = Interceptors::List.intercept_path(@request) return intercepted if intercepted route_params = route[:route].path.get_params(requested_path) || {} @request.params.merge!(route_params) begin route[:class].execute_action(@request, route[:action]) rescue Exception => exception Config.response_class.server_error(exception, verb, requested_path) end else Config.response_class.not_found(verb, requested_path) end end
config()
click to toggle source
# File lib/orbit.rb, line 55 def config self.class.config end
load_middleware()
click to toggle source
# File lib/orbit.rb, line 27 def load_middleware builder.use Rack::MethodOverride builder.use Rack::Head builder.use Rack::Static, :urls => Config.static_files_path builder.use config.rack_logger_class use_session(config.session_options) use_protection end
setup_builder()
click to toggle source
# File lib/orbit.rb, line 23 def setup_builder @builder = Rack::Builder.new end
start()
click to toggle source
# File lib/orbit.rb, line 69 def start builder.run self builder end
use_protection()
click to toggle source
# File lib/orbit.rb, line 43 def use_protection options = {} options[:except] = Array options[:except] options[:except] += [:session_hijacking, :remote_token] options[:reaction] ||= :drop_session builder.use Rack::Protection, options end
use_session(options)
click to toggle source
# File lib/orbit.rb, line 37 def use_session(options) options[:secret] = config.session_secret builder.use Rack::Session::Cookie, options end