class Utils::Patterns::Pattern

def initialize(opts = {})

def initialize(opts = {})
  @cset    = opts[:cset]
  @icase   = opts[:icase]
  @pattern = opts[:pattern] or
    raise ArgumentError, "pattern option required"
  @pattern = @pattern.gsub(/[^#{@cset}]/, '') if @cset
end

def method_missing(*a, &b)

def method_missing(*a, &b)
  @matcher.__send__(*a, &b)
rescue ArgumentError => e
  raise e unless e.message.include?('invalid byte sequence in UTF-8')
end