Class: Muack::HashIncluding

Inherits:
Satisfy
  • Object
show all
Defined in:
lib/muack/satisfy.rb

Instance Attribute Summary

Attributes inherited from Satisfy

#api_args, #block

Instance Method Summary collapse

Methods inherited from Satisfy

#&, #api_name, #match, #to_s, #|

Constructor Details

#initialize(hash) ⇒ HashIncluding

Returns a new instance of HashIncluding.



67
68
69
70
71
72
73
74
75
76
77
# File 'lib/muack/satisfy.rb', line 67

def initialize hash
  super lambda{ |actual_arg|
    actual_arg.values_at(*hash.keys).zip(hash.values).all? do |(av, ev)|
      if ev.kind_of?(Satisfy)
        ev.match(av)
      else
        ev == av
      end
    end
  }, [hash]
end