Class: ConvenientService::RSpec::PrimitiveMatchers::Classes::HaveAttrWriter
- Inherits:
-
Object
- Object
- ConvenientService::RSpec::PrimitiveMatchers::Classes::HaveAttrWriter
- Defined in:
- lib/convenient_service/rspec/primitive_matchers/classes/have_attr_writer.rb
Instance Method Summary collapse
- #description ⇒ String
- #failure_message ⇒ String
- #failure_message_when_negated ⇒ String
- #initialize(attr_name) ⇒ void constructor
- #matches?(object) ⇒ Boolean
Constructor Details
#initialize(attr_name) ⇒ void
17 18 19 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_writer.rb', line 17 def initialize(attr_name) @attr_name = attr_name end |
Instance Method Details
#description ⇒ String
44 45 46 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_writer.rb', line 44 def description "have attr writer `#{attr_name}`" end |
#failure_message ⇒ String
51 52 53 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_writer.rb', line 51 def "expected `#{object.class}` to have attr writer `#{attr_name}`" end |
#failure_message_when_negated ⇒ String
58 59 60 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_writer.rb', line 58 def "expected `#{object.class}` NOT to have attr writer `#{attr_name}`" end |
#matches?(object) ⇒ Boolean
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/convenient_service/rspec/primitive_matchers/classes/have_attr_writer.rb', line 28 def matches?(object) @object = object Utils.with_one_time_object do |one_time_object| copy = object.dup return false if Utils.safe_send(copy, attr_writer_name, one_time_object) != one_time_object return false if copy.instance_variable_get(instance_variable_name) != one_time_object true end end |