Class: ConvenientService::RSpec::PrimitiveMatchers::Classes::HaveAliasMethod

Inherits:
Object
  • Object
show all
Defined in:
lib/convenient_service/rspec/primitive_matchers/classes/have_alias_method.rb

Instance Method Summary collapse

Constructor Details

#initialize(alias_name, original_name) ⇒ HaveAliasMethod

Returns a new instance of HaveAliasMethod.



13
14
15
16
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_alias_method.rb', line 13

def initialize(alias_name, original_name)
  @alias_name = alias_name
  @original_name = original_name
end

Instance Method Details

#descriptionObject



31
32
33
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_alias_method.rb', line 31

def description
  "have alias method `#{alias_name}` for `#{original_name}`"
end

#failure_messageObject



35
36
37
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_alias_method.rb', line 35

def failure_message
  "expected `#{object.class}` to have alias method `#{alias_name}` for `#{original_name}`"
end

#failure_message_when_negatedObject



39
40
41
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_alias_method.rb', line 39

def failure_message_when_negated
  "expected `#{object.class}` NOT to have alias method `#{alias_name}` for `#{original_name}`"
end

#matches?(object) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_alias_method.rb', line 18

def matches?(object)
  @object = object

  ##
  # TODO: Use `Utils::Object.duck_class` to support `have_alias_method` for classes.
  #
  return false unless Utils::Method.defined?(original_name, object.class, private: true)

  return false unless Utils::Method.defined?(alias_name, object.class, private: true)

  equal_methods?(alias_name, original_name)
end