Sha256: a9a2e00220bd25ac384dfd4bd3f58c58857a9f6edb2c6ad635e00092d760d323
Contents?: true
Size: 1.26 KB
Versions: 15
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true module ConvenientService module RSpec module Matchers module Custom class HaveAliasMethod def initialize(alias_name, original_name) @alias_name = alias_name @original_name = original_name end def matches?(object) @object = object return false unless Utils::Method.defined?(original_name, object.class, private: true) return false unless Utils::Method.defined?(alias_name, object.class, private: true) ## # https://stackoverflow.com/a/45640516/12201472 # object.method(alias_name).original_name == object.method(original_name).original_name end def description "have alias method `#{alias_name}` for `#{original_name}`" end def failure_message "expected `#{object.class}` to have alias method `#{alias_name}` for `#{original_name}`" end def failure_message_when_negated "expected `#{object.class}` NOT to have alias method `#{alias_name}` for `#{original_name}`" end private attr_reader :object, :alias_name, :original_name end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems