Class: Comparability::Comparators::ProcComparator

Inherits:
Comparability::Comparator show all
Defined in:
lib/comparability/comparators/proc_comparator.rb

Instance Method Summary collapse

Methods inherited from Comparability::Comparator

#compare, #to_proc

Methods included from FactoryMethods

#chain, #create, #natural_order, #prioritize_nil, #reverse

Constructor Details

#initialize(comparison) ⇒ ProcComparator

Returns a new instance of ProcComparator.

Raises:

  • (ArgumentError)


7
8
9
10
# File 'lib/comparability/comparators/proc_comparator.rb', line 7

def initialize(comparison)
  raise ArgumentError unless comparison.is_a?(Proc) && comparison.arity == 2
  self.singleton_class.send(:define_method, :compare, &comparison)
end