Sha256: afc46d5eefd93fca28f7bdea2206bd4992b134bf19bf2438c5abf46cd73d4fa2

Contents?: true

Size: 1.03 KB

Versions: 29

Compression:

Stored size: 1.03 KB

Contents

# encoding: utf-8

module Mutant
  class CLI
    class Classifier

      # Namespace classifier
      class Namespace < self

        # Return matcher
        #
        # @return [Matcher]
        #
        # @api private
        #
        def matcher
          self.class::MATCHER.new(cache, namespace)
        end

      private

        # Return namespace
        #
        # @return [Class, Module]
        #
        # @api private
        #
        def namespace
          Classifier.constant_lookup(match[__method__].to_s)
        end

        # Recursive namespace classifier
        class Recursive < self
          REGEXP  = /\A(?<namespace>#{SCOPE_PATTERN})\*\z/.freeze
          MATCHER = Matcher::Namespace
          register(REGEXP)
        end # Recursive

        # Recursive namespace classifier
        class Flat < self
          REGEXP  = /\A(?<namespace>#{SCOPE_PATTERN})\z/.freeze
          MATCHER = Matcher::Scope
          register(REGEXP)
        end # Flat

      end # Namespace
    end # Classifier
  end # CLI
end # Mutant

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
mutant-0.5.17 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.16 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.15 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.14 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.13 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.12 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.11 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.10 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.9 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.8 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.7 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.6 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.5 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.4 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.3 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.2 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.1 lib/mutant/cli/classifier/namespace.rb
mutant-0.5.0 lib/mutant/cli/classifier/namespace.rb
mutant-0.3.6 lib/mutant/cli/classifier/namespace.rb
mutant-0.3.5 lib/mutant/cli/classifier/namespace.rb