Class: SuperDiff::RSpec::OperationTreeBuilders::HashIncluding

Inherits:
OperationTreeBuilders::Hash show all
Includes:
RSpec::Matchers::Composable
Defined in:
lib/super_diff/rspec/operation_tree_builders/hash_including.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from OperationTreeBuilders::Base

#call

Constructor Details

#initialize(expected:, **rest) ⇒ HashIncluding

Returns a new instance of HashIncluding.



14
15
16
17
18
19
20
21
22
# File 'lib/super_diff/rspec/operation_tree_builders/hash_including.rb', line 14

def initialize(expected:, **rest)
  hash =
    if SuperDiff::RSpec.a_hash_including_something?(expected)
      expected.expecteds.first
    else
      expected.instance_variable_get(:@expected)
    end
  super(expected: hash, **rest)
end

Class Method Details

.applies_to?(expected, actual) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
# File 'lib/super_diff/rspec/operation_tree_builders/hash_including.rb', line 7

def self.applies_to?(expected, actual)
  (
    SuperDiff::RSpec.a_hash_including_something?(expected) ||
      SuperDiff::RSpec.hash_including_something?(expected)
  ) && actual.is_a?(::Hash)
end