Class: EngineRouter::Routes
- Inherits:
-
Object
- Object
- EngineRouter::Routes
- Defined in:
- lib/engine_router/routes.rb
Instance Method Summary collapse
- #append(&block) ⇒ Object
- #clear_routes ⇒ Object
- #draw(&block) ⇒ Object
- #engine ⇒ Object
- #eval_block(&block) ⇒ Object
-
#initialize(engine) ⇒ Routes
constructor
A new instance of Routes.
- #prepend(&block) ⇒ Object
Constructor Details
#initialize(engine) ⇒ Routes
Returns a new instance of Routes.
4 5 6 7 |
# File 'lib/engine_router/routes.rb', line 4 def initialize (engine) @engine = engine clear_routes end |
Instance Method Details
#append(&block) ⇒ Object
19 20 21 22 23 |
# File 'lib/engine_router/routes.rb', line 19 def append &block unless append_routes.include?(block) @append_routes << block end end |
#clear_routes ⇒ Object
37 38 39 40 |
# File 'lib/engine_router/routes.rb', line 37 def clear_routes @prepend_routes = [] @append_routes = [] end |
#draw(&block) ⇒ Object
25 26 27 28 29 30 31 |
# 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 ⇒ Object
9 10 11 |
# File 'lib/engine_router/routes.rb', line 9 def engine @engine end |
#eval_block(&block) ⇒ Object
33 34 35 |
# File 'lib/engine_router/routes.rb', line 33 def eval_block(&block) engine.routes.send(:eval_block,block) end |
#prepend(&block) ⇒ Object
13 14 15 16 17 |
# File 'lib/engine_router/routes.rb', line 13 def prepend &block unless prepend_routes.include?(block) @prepend_routes << block end end |