Class: Doze::Router::RouteSet

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

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ RouteSet

Returns a new instance of RouteSet.



2
3
4
5
6
# File 'lib/doze/router/route_set.rb', line 2

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

Instance Method Details

#<<(route) ⇒ Object



8
9
10
11
12
# File 'lib/doze/router/route_set.rb', line 8

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

#[](name) ⇒ Object



14
15
16
# File 'lib/doze/router/route_set.rb', line 14

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

#dup(&block) ⇒ Object



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

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



24
25
26
# File 'lib/doze/router/route_set.rb', line 24

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

#route(*p, &b) ⇒ Object



18
19
20
21
22
# File 'lib/doze/router/route_set.rb', line 18

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