Class: Doze::Router::RouteSet

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/doze/router/route_set.rb

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ RouteSet

Returns a new instance of RouteSet.



4
5
6
7
8
# File 'lib/doze/router/route_set.rb', line 4

def initialize(&block)
  @routes = []
  @routes_by_name = {}
  instance_eval(&block) if block
end

Instance Method Details

#<<(route) ⇒ Object



10
11
12
13
14
# File 'lib/doze/router/route_set.rb', line 10

def <<(route)
  @routes << route unless @routes_by_name.has_key?(route.name)
  @routes_by_name[route.name] = route
  self
end

#[](name) ⇒ Object



16
17
18
# File 'lib/doze/router/route_set.rb', line 16

def [](name)
  @routes_by_name[name]
end

#dup(&block) ⇒ Object



30
31
32
33
34
35
# File 'lib/doze/router/route_set.rb', line 30

def dup(&block)
  route_set = self.class.new
  @routes.each {|r| route_set << r}
  route_set.instance_eval(&block) if block
  route_set
end

#each(&b) ⇒ Object



26
27
28
# File 'lib/doze/router/route_set.rb', line 26

def each(&b)
  @routes.each(&b)
end

#route(*p, &b) ⇒ Object



20
21
22
23
24
# File 'lib/doze/router/route_set.rb', line 20

def route(*p, &b)
  route = Doze::Router::Route.new(*p, &b)
  self << route
  route
end