Sha256: b55fad57d534ea3edac67ac88d6c65b10a36597f000df1566cb329a42fe9b8c0

Contents?: true

Size: 999 Bytes

Versions: 20

Compression:

Stored size: 999 Bytes

Contents

module Mutant
  class Strategy
    module MethodExpansion

      # Run method name expansion
      #
      # @param [Symbol] name
      #
      # @return [Symbol]
      #
      # @api private
      #
      def self.run(name)
        name = map(name) || expand(name)
      end

      # Return mapped name
      #
      # @param [Symbol] name
      #
      # @return [Symbol]
      #   if name was mapped
      #
      # @return [nil]
      #   otherwise
      #
      # @api private
      #
      def self.map(name)
        OPERATOR_EXPANSIONS[name]
      end
      private_class_method :map

      REGEXP = /#{Regexp.union(*METHOD_POSTFIX_EXPANSIONS.keys)}\z/.freeze

      # Return expanded name
      #
      # @param [Symbol] name
      #
      # @return [Symbol]
      #
      # @api private
      #
      def self.expand(name)
        name.to_s.gsub(REGEXP, METHOD_POSTFIX_EXPANSIONS).to_sym
      end
      private_class_method :expand

    end # MethodExpansion
  end # Strategy
end # Mutant

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
mutant-0.3.0.beta21 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta20 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta19 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta18 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta17 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta16 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta15 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta14 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta13 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta12 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta11 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta10 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta9 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta8 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta7 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta6 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta5 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta4 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta3 lib/mutant/strategy/method_expansion.rb
mutant-0.3.0.beta2 lib/mutant/strategy/method_expansion.rb