class Enzymator::Categorizer

Public Class Methods

categorize(klass) click to toggle source
# File lib/enzymator/core_ext/categorizer.rb, line 6
def self.categorize(klass)
  unless @@known_classes.has_key? klass

    if klass.included_modules.include? Enumerable
      klass.send :include, Enzymator::Types::List::Functor::Enumerable
      klass.send :include, Enzymator::Types::List::Foldable::Enumerable
    end

    if klass <= Array
      klass.send :include, Enzymator::Types::List::Monad::Array
    end

    @@known_classes[klass] += 1
  end
end