Class: Mongrel2::Config::Route
- Inherits:
-
Object
- Object
- Mongrel2::Config::Route
- Extended by:
- Loggability
- Defined in:
- lib/mongrel2/config/route.rb
Overview
Mongrel2 Route configuration class
Class Method Summary collapse
-
.for_request(request) ⇒ Object
Return the Route that corresponds to the given
request
.
Instance Method Summary collapse
-
#host ⇒ Object
The Mongrel2::Config::Host this route belongs to.
-
#target ⇒ Object
Fetch the route’s target, which is either a Mongrel2::Config::Directory, Mongrel2::Config::Proxy, or Mongrel2::Config::Handler object.
-
#target=(object) ⇒ Object
Set the target of the route to
object
, which should be one of the classes returned from #target.
Class Method Details
.for_request(request) ⇒ Object
Return the Route that corresponds to the given request
.
23 24 25 26 27 28 |
# File 'lib/mongrel2/config/route.rb', line 23 def self::for_request( request ) pattern = request.headers.pattern self.log.debug "Searching for the route for the path %p in %p" % [ pattern, self.all ] return self.filter( path: pattern ).first end |
Instance Method Details
#host ⇒ Object
The Mongrel2::Config::Host this route belongs to.
37 |
# File 'lib/mongrel2/config/route.rb', line 37 many_to_one :host |
#target ⇒ Object
Fetch the route’s target, which is either a Mongrel2::Config::Directory, Mongrel2::Config::Proxy, or Mongrel2::Config::Handler object.
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/mongrel2/config/route.rb', line 42 def target case self.target_type when 'dir' return Mongrel2::Config::Directory[ self.target_id ] when 'proxy' return Mongrel2::Config::Proxy[ self.target_id ] when 'handler' return Mongrel2::Config::Handler[ self.target_id ] else raise ArgumentError, "unknown target type %p" % [ self.target_type ] end end |
#target=(object) ⇒ Object
Set the target of the route to object
, which should be one of the classes returned from #target.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/mongrel2/config/route.rb', line 58 def target=( object ) case object when Mongrel2::Config::Directory self.target_type = 'dir' when Mongrel2::Config::Proxy self.target_type = 'proxy' when Mongrel2::Config::Handler self.target_type = 'handler' else raise ArgumentError, "unknown target type %p" % [ object.class ] end self.target_id = object.id end |