Class: Sequent::Core::Helpers::MessageMatchers::HasAttrs

Inherits:
Struct
  • Object
show all
Defined in:
lib/sequent/core/helpers/message_matchers/has_attrs.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message_matcher, expected_attrs) ⇒ HasAttrs

Returns a new instance of HasAttrs.



8
9
10
11
12
13
14
15
# File 'lib/sequent/core/helpers/message_matchers/has_attrs.rb', line 8

def initialize(message_matcher, expected_attrs)
  super

  fail ArgumentError, 'Missing required message matcher' if message_matcher.nil?
  fail ArgumentError, 'Missing required expected attrs' if expected_attrs.blank?

  self.message_matcher = ArgumentCoercer.coerce_argument(message_matcher)
end

Instance Attribute Details

#expected_attrsObject

Returns the value of attribute expected_attrs

Returns:

  • (Object)

    the current value of expected_attrs



7
8
9
# File 'lib/sequent/core/helpers/message_matchers/has_attrs.rb', line 7

def expected_attrs
  @expected_attrs
end

#message_matcherObject

Returns the value of attribute message_matcher

Returns:

  • (Object)

    the current value of message_matcher



7
8
9
# File 'lib/sequent/core/helpers/message_matchers/has_attrs.rb', line 7

def message_matcher
  @message_matcher
end

Instance Method Details

#matches_message?(message) ⇒ Boolean

Returns:



17
18
19
20
# File 'lib/sequent/core/helpers/message_matchers/has_attrs.rb', line 17

def matches_message?(message)
  message_matcher.matches_message?(message) &&
    matches_attrs?(message, expected_attrs)
end

#to_sObject



22
23
24
25
26
27
# File 'lib/sequent/core/helpers/message_matchers/has_attrs.rb', line 22

def to_s
  'has_attrs(' \
    "#{MessageMatchers::ArgumentSerializer.serialize_value(message_matcher)}, " \
    "#{AttrMatchers::ArgumentSerializer.serialize_value(expected_attrs)}" \
  ')'
end