class EngineRouter::Routes

Public Class Methods

new(engine) click to toggle source
# File lib/engine_router/routes.rb, line 4
def initialize (engine)
  @engine = engine
  clear_routes
end

Public Instance Methods

append(&block) click to toggle source
# File lib/engine_router/routes.rb, line 19
def append &block
  unless append_routes.include?(block)
    @append_routes << block
  end
end
clear_routes() click to toggle source
# File lib/engine_router/routes.rb, line 37
def clear_routes
  @prepend_routes = []
  @append_routes = []
end
draw(&block) click to toggle source
# File lib/engine_router/routes.rb, line 25
def draw &block
  prepend_routes.each { |r| eval_block(&r) }
  eval_block(&block) if block_given?
  append_routes.each { |r| eval_block(&r) }
  # Clear out routes so that they aren't drawn twice.
  clear_routes
end
engine() click to toggle source
# File lib/engine_router/routes.rb, line 9
def engine
  @engine
end
eval_block(&block) click to toggle source
# File lib/engine_router/routes.rb, line 33
def eval_block(&block)
  engine.routes.send(:eval_block,block)
end
prepend(&block) click to toggle source
# File lib/engine_router/routes.rb, line 13
def prepend &block
  unless prepend_routes.include?(block)
    @prepend_routes << block
  end
end

Private Instance Methods

append_routes() click to toggle source
# File lib/engine_router/routes.rb, line 48
def append_routes
  @append_routes ||= []
end
prepend_routes() click to toggle source
# File lib/engine_router/routes.rb, line 44
def prepend_routes
  @prepend_routes ||= []
end