Module: PerfectQueue::Application::RouterDSL

Included in:
Dispatch
Defined in:
lib/perfectqueue/application/router.rb

Instance Method Summary collapse

Instance Method Details

#add_route(pattern, klass, options) ⇒ Object



32
33
34
# File 'lib/perfectqueue/application/router.rb', line 32

def add_route(pattern, klass, options)
  router.add(pattern, klass, options)
end

#route(options) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/perfectqueue/application/router.rb', line 23

def route(options)
  patterns = options.keys.select {|k| !k.is_a?(Symbol) }
  klasses = patterns.map {|k| options.delete(k) }
  patterns.zip(klasses).each {|pattern,sym|
    add_route(pattern, sym, options)
  }
  nil
end

#routerObject



43
44
45
# File 'lib/perfectqueue/application/router.rb', line 43

def router
  self.router = Router.new
end

#router=(router) ⇒ Object



36
37
38
39
40
41
# File 'lib/perfectqueue/application/router.rb', line 36

def router=(router)
  (class<<self;self;end).instance_eval do
    self.__send__(:define_method, :router) { router }
  end
  router
end