module Rinq
  module Enumerable
    autoload :Context,   'rinq/enumerable/context'
    autoload :Node,      'rinq/enumerable/node'
    autoload :From,      'rinq/enumerable/from'
    autoload :Where,     'rinq/enumerable/where'
    autoload :Select,    'rinq/enumerable/select'
    autoload :Group,     'rinq/enumerable/group'
  end

  autoload :VERSION,   'rinq/version'

  def self.from(&block)
    Rinq::Enumerable::From.new(&block)
  end
end

module Kernel
  def from(&block)
    Rinq.from(&block)
  end
end
