class Regexp::Parser

def extract_options(input, options)

def extract_options(input, options)
  if options && !input.is_a?(String)
    raise ArgumentError, 'options cannot be supplied unless parsing a String'
  end
  options = input.options if input.is_a?(::Regexp)
  return {} unless options
  enabled_options = {}
  enabled_options[:i] = true if options & ::Regexp::IGNORECASE != 0
  enabled_options[:m] = true if options & ::Regexp::MULTILINE  != 0
  enabled_options[:x] = true if options & ::Regexp::EXTENDED   != 0
  enabled_options
end