1+ # Copyright (c) 2009 Marc-Andre Lafortune
2+ #
3+ # Permission is hereby granted, free of charge, to any person obtaining
4+ # a copy of this software and associated documentation files (the
5+ # "Software"), to deal in the Software without restriction, including
6+ # without limitation the rights to use, copy, modify, merge, publish,
7+ # distribute, sublicense, and/or sell copies of the Software, and to
8+ # permit persons to whom the Software is furnished to do so, subject to
9+ # the following conditions:
10+ #
11+ # The above copyright notice and this permission notice shall be
12+ # included in all copies or substantial portions of the Software.
13+ #
14+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21+
22+ class Regexp
23+ # Standard in Ruby 1.8.7+. See official documentation[http://www.ruby-doc.org/core-1.8.7/classes/Regexp.html]
24+ class << self
25+ unless ( union ( %w( a b ) ) rescue false )
26+ alias :union_without_array_argument :union
27+
28+ def union ( *arg )
29+ return union_without_array_argument ( *arg ) unless arg . size == 1
30+ union_without_array_argument ( *arg . first )
31+ end
32+ end
33+ end
34+ end
0 commit comments