Sha256: a019f8913709b535aab4af03df0a306dd45ebe0dded45b6b2378166bc4df560d

Contents?: true

Size: 702 Bytes

Versions: 2

Compression:

Stored size: 702 Bytes

Contents

require 'mustermann/regexp_based'

module Mustermann
  # Regexp pattern implementation.
  #
  # @example
  #   Mustermann.new('/.*', type: :regexp) === '/bar' # => true
  #
  # @see Mustermann::Pattern
  # @see file:README.md#simple Syntax description in the README
  class Regular < RegexpBased
    # @param (see Mustermann::Pattern#initialize)
    # @return (see Mustermann::Pattern#initialize)
    # @see (see Mustermann::Pattern#initialize)
    def initialize(string, **options)
      string = $1 if string.to_s =~ /\A\(\?\-mix\:(.*)\)\Z/ && string.inspect == "/#$1/"
      super(string, **options)
    end

    def compile(**options)
      /\A#{@string}\Z/
    end

    private :compile
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mustermann-0.3.1 lib/mustermann/regular.rb
mustermann-0.3.0 lib/mustermann/regular.rb