class MotionHybrid::Router

Public Class Methods

new(screen) click to toggle source
# File lib/motion-hybrid/models/router.rb, line 4
def initialize(screen)
  @screen = screen
end

Public Instance Methods

process(request) click to toggle source
# File lib/motion-hybrid/models/router.rb, line 8
def process(request)
  routes.find do |route|
    route.matches?(request) && @screen.instance_exec(request, external?(request), &route.block)
  end
end

Private Instance Methods

external?(request) click to toggle source
# File lib/motion-hybrid/models/router.rb, line 16
def external?(request)
  !request.url.include?(@screen.root_url)
end
routes() click to toggle source
# File lib/motion-hybrid/models/router.rb, line 20
def routes
  @screen.class.routes
end