class Sapp::Router
Public Class Methods
new(&block)
click to toggle source
# File lib/sapp/router.rb, line 4 def initialize &block @apps = Array.new instance_eval(&block) if block end
Public Instance Methods
apps()
click to toggle source
# File lib/sapp/router.rb, line 27 def apps @apps end
call(env)
click to toggle source
# File lib/sapp/router.rb, line 9 def call env request = Rack::Request.new env found = Array.new @apps.each do |a| path = a.run(request) found << path if path end begin duplicate_apps! if found.count > 1 rescue => e puts e.message end found.any? ? found.first : [ 404, {}, ["Not found"] ] end
Private Instance Methods
create(app)
click to toggle source
# File lib/sapp/router.rb, line 32 def create app @apps << app end
duplicate_apps!()
click to toggle source
# File lib/sapp/router.rb, line 36 def duplicate_apps! raise %[ It seems you have multiple applications, with duplicate routes. --> Apps: #{apps.join(', ')} Check those classes, and remove duplicate routes. ] end