Sha256: bf0288c78e278a3c86cebf4b20bc51dda1366f31b6735375ecd1d3fb2e570e81

Contents?: true

Size: 896 Bytes

Versions: 4

Compression:

Stored size: 896 Bytes

Contents

# frozen_string_literal: true

class Sinclair
  module Matchers
    # @api private
    # @author darthjee
    #
    # AddInstanceMethod is able to build an instance of
    # {Sinclair::Matchers::ChangeClassMethodOn}
    class ChangeClassMethod < Base
      include AddMethod

      # @api public
      #
      # Builds final matcher
      #
      # @return [Sinclair::Matchers::ChangeClassMethodOn]
      alias on to

      private

      # @private
      #
      # Error description on wrong usage
      #
      # @return String
      def matcher_error
        'You should specify which class the method is being changed on' \
          "change_class_method(:#{method_name}).on(klass)"
      end

      # @private
      #
      # Class of the real matcher
      #
      # @return [Class<ChangeClassMethodOn>]
      def add_method_to_class
        ChangeClassMethodOn
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sinclair-1.9.0 lib/sinclair/matchers/change_class_method.rb
sinclair-1.8.0 lib/sinclair/matchers/change_class_method.rb
sinclair-1.7.0 lib/sinclair/matchers/change_class_method.rb
sinclair-1.6.7 lib/sinclair/matchers/change_class_method.rb