class J8::Comparator

Public Class Methods

comparing(extractor, comparator) click to toggle source
# File lib/j8/comparator.rb, line 7
def self.comparing(extractor, comparator)
  extractor = from_callable_class(extractor, nil, J8::Function)
  comparator = from_callable_class(comparator, nil, J8::Comparator)

  J8::Comparataor.new(
    lambda do |o1, o2|
      comparator.compare(extractor.apply(o1), extractor.apply(o2))
    end
  )
end

Public Instance Methods

compare(o1, o2) click to toggle source
# File lib/j8/comparator.rb, line 18
def compare(o1, o2)
  raise J8::NilException if o1.nil?
  raise J8::NilException if o2.nil?

  @callable.call(o1, o2)
end