Class: HttpDecoy::RouteMap

Inherits:
Object
  • Object
show all
Defined in:
lib/http_decoy/route_map.rb

Overview

DSL target for defining a set of routes. Instantiated once at class-load time; immutable after definition.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRouteMap

Returns a new instance of RouteMap.



12
13
14
15
# File 'lib/http_decoy/route_map.rb', line 12

def initialize
  @routes = []
  @declared_base_url = nil
end

Instance Attribute Details

#declared_base_urlObject (readonly)

Returns the value of attribute declared_base_url.



10
11
12
# File 'lib/http_decoy/route_map.rb', line 10

def declared_base_url
  @declared_base_url
end

Instance Method Details

#base_url(url = nil) ⇒ Object



17
18
19
# File 'lib/http_decoy/route_map.rb', line 17

def base_url(url = nil)
  url ? @declared_base_url = url : @declared_base_url
end

#routerObject



31
32
33
34
# File 'lib/http_decoy/route_map.rb', line 31

def router
  # Memoize — route list is never mutated after definition.
  @router ||= Router.new(@routes)
end

#routesObject



27
28
29
# File 'lib/http_decoy/route_map.rb', line 27

def routes
  @routes.dup
end