Sha256: 58a99975cd5b6bb9eaa411a3e16876fd29159bb7d3a25457347eafb614a2914c

Contents?: true

Size: 673 Bytes

Versions: 11

Compression:

Stored size: 673 Bytes

Contents

class Object
  def to_param
    to_s
  end
end

class TrueClass
  def to_param
    self
  end
end

class FalseClass
  def to_param
    self
  end
end

class NilClass
  def to_param
    self
  end
end

class Regexp #:nodoc:
  def number_of_captures
    Regexp.new("|#{source}").match('').captures.length
  end

  class << self
    def optionalize(pattern)
      case unoptionalize(pattern)
        when /\A(.|\(.*\))\Z/ then "#{pattern}?"
        else "(?:#{pattern})?"
      end
    end

    def unoptionalize(pattern)
      [/\A\(\?:(.*)\)\?\Z/, /\A(.|\(.*\))\?\Z/].each do |regexp|
        return $1 if regexp =~ pattern
      end
      return pattern
    end
  end
end

Version data entries

11 entries across 11 versions & 5 rubygems

Version Path
radiant-0.7.2 vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb
vibes-bj-1.2.2 spec/rails_root/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb
vibes-bj-1.2.1 spec/rails_root/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb
actionpack-2.1.0 lib/action_controller/routing/routing_ext.rb
actionpack-2.1.1 lib/action_controller/routing/routing_ext.rb
actionpack-2.1.2 lib/action_controller/routing/routing_ext.rb
antfarm-0.3.0 rails/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb
antfarm-0.4.0 rails/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb
eactionpack-2.1.2 lib/action_controller/routing/routing_ext.rb
radiant-0.7.0 vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb
radiant-0.7.1 vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb