module Regexp::Expression

Constants

MatchLength

Public Class Methods

parsed(exp) click to toggle source
# File lib/regexp_parser/expression.rb, line 117
def self.parsed(exp)
  warn('WARNING: Regexp::Expression::Base.parsed is buggy and '\
       'will be removed in 2.0.0. Use Regexp::Parser.parse instead.')
  case exp
  when String
    Regexp::Parser.parse(exp)
  when Regexp
    Regexp::Parser.parse(exp.source) # <- causes loss of root options
  when Regexp::Expression            # <- never triggers
    exp
  else
    raise ArgumentError, 'Expression.parsed accepts a String, Regexp, or '\
                         'a Regexp::Expression as a value for exp, but it '\
                         "was given #{exp.class.name}."
  end
end