class Atomy::Pattern::Equality
Attributes
value[R]
Public Class Methods
new(value)
click to toggle source
# File lib/atomy/pattern/equality.rb, line 7 def initialize(value) @value = value end
Public Instance Methods
inline_matches?(gen)
click to toggle source
# File lib/atomy/pattern/equality.rb, line 15 def inline_matches?(gen) push_value(gen) gen.swap gen.send(:==, 1) end
matches?(val)
click to toggle source
# File lib/atomy/pattern/equality.rb, line 11 def matches?(val) @value == val end
target()
click to toggle source
# File lib/atomy/pattern/equality.rb, line 21 def target @value.class end
Private Instance Methods
push_value(gen)
click to toggle source
# File lib/atomy/pattern/equality.rb, line 27 def push_value(gen) case @value when true gen.push_true when false gen.push_false when nil gen.push_nil when Integer gen.push_int(@value) else gen.push_literal(@value) end end