class PatternMatch::PatternObjectDeconstructor
Public Class Methods
new(deconstructor, *subpatterns)
click to toggle source
Calls superclass method
PatternMatch::Pattern::new
# File lib/pattern-match/core.rb, line 206 def initialize(deconstructor, *subpatterns) super(*subpatterns) @deconstructor = deconstructor end
Public Instance Methods
inspect()
click to toggle source
# File lib/pattern-match/core.rb, line 221 def inspect "#<#{self.class.name}: deconstructor=#{@deconstructor.inspect}, subpatterns=#{subpatterns.inspect}>" end
match(vals)
click to toggle source
Calls superclass method
PatternMatch::Pattern#match
# File lib/pattern-match/core.rb, line 211 def match(vals) super do |val| deconstructed_vals = @deconstructor.deconstruct(val) if subpatterns.empty? next deconstructed_vals.empty? end subpatterns[0].match(deconstructed_vals) end end