Class: ConvenientService::RSpec::PrimitiveMatchers::Classes::HaveAttrAccessor

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

Overview

TODO: Specs.

Instance Method Summary collapse

Constructor Details

#initialize(attr_name) ⇒ HaveAttrAccessor

Returns a new instance of HaveAttrAccessor.



16
17
18
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_accessor.rb', line 16

def initialize(attr_name)
  @attr_name = attr_name
end

Instance Method Details

#descriptionObject



29
30
31
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_accessor.rb', line 29

def description
  "have attr accessor `#{attr_name}`"
end

#failure_messageObject



33
34
35
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_accessor.rb', line 33

def failure_message
  "expected `#{object.class}` to have attr accessor `#{attr_name}`"
end

#failure_message_when_negatedObject



37
38
39
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_accessor.rb', line 37

def failure_message_when_negated
  "expected `#{object.class}` NOT to have attr accessor `#{attr_name}`"
end

#matches?(object) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
26
27
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_accessor.rb', line 20

def matches?(object)
  @object = object

  Classes::HaveAttrReader.new(attr_name).matches?(object)
  Classes::HaveAttrWriter.new(attr_name).matches?(object)

  true
end