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

Inherits:
OperationTreeBuilders::Hash show all
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.



12
13
14
15
16
17
18
19
# File 'lib/super_diff/rspec/operation_tree_builders/hash_including.rb', line 12

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)


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

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