Froze rails gems
[depot.git] / vendor / rails / actionpack / lib / action_controller / routing / routing_ext.rb
1 class Object
2 def to_param
3 to_s
4 end
5 end
6
7 class TrueClass
8 def to_param
9 self
10 end
11 end
12
13 class FalseClass
14 def to_param
15 self
16 end
17 end
18
19 class NilClass
20 def to_param
21 self
22 end
23 end
24
25 class Regexp #:nodoc:
26 def number_of_captures
27 Regexp.new("|#{source}").match('').captures.length
28 end
29
30 def multiline?
31 options & MULTILINE == MULTILINE
32 end
33
34 class << self
35 def optionalize(pattern)
36 case unoptionalize(pattern)
37 when /\A(.|\(.*\))\Z/ then "#{pattern}?"
38 else "(?:#{pattern})?"
39 end
40 end
41
42 def unoptionalize(pattern)
43 [/\A\(\?:(.*)\)\?\Z/, /\A(.|\(.*\))\?\Z/].each do |regexp|
44 return $1 if regexp =~ pattern
45 end
46 return pattern
47 end
48 end
49 end