class J8::Predicate

Public Class Methods

equal?(target) click to toggle source
# File lib/j8/predicate.rb, line 7
def self.equal?(target)
  J8::Predicate.new(->(o) { o == target })
end

Public Instance Methods

and(other = nil, &block) click to toggle source
# File lib/j8/predicate.rb, line 19
def and(other = nil, &block)
  callable = from_callable(other, block)

  J8::Predicate.new(->(o) { test(o) && callable.test(o) })
end
negate() click to toggle source
# File lib/j8/predicate.rb, line 15
def negate
  J8::Predicate.new(->(o) { !test(o) })
end
or(other = nil, &block) click to toggle source
# File lib/j8/predicate.rb, line 25
def or(other = nil, &block)
  callable = from_callable(other, block)

  J8::Predicate.new(->(o) { test(o) || callable.test(o) })
end
test(o) click to toggle source
# File lib/j8/predicate.rb, line 11
def test(o)
  @callable.call(o)
end