Incluir cuando se incluye un módulo en su clase, como se muestra a continuación, es que si se toma el código definido dentro del módulo y lo insertó dentro de la clase, en la que ‘se entienden’ la misma. Permite el comportamiento 'mixin'. Se usa para SECAR tu código para evitar la duplicación, por ejemplo, si hubiera varias clases que necesitarían el mismo código dentro del módulo.
Carga El método de carga es casi como el método obligatorio, excepto que no hace un seguimiento de si esa biblioteca se ha cargado o no. Por lo tanto, es posible cargar una biblioteca varias veces y también cuando se usa el método de carga, debe especificar la extensión ".rb" del nombre del archivo de la biblioteca.
Requiere El método require le permite cargar una biblioteca e impide que se cargue más de una vez. El método require devolverá 'falso' si intenta cargar la misma biblioteca después de la primera vez. El método require solo necesita ser utilizado si la biblioteca que está cargando está definida en un archivo separado, que generalmente es el caso.
Puede preferir este http://ionrails.com/2009/09/19/ruby_require-vs-load-vs-include-vs-extend/
Por lo que vale, aquí hay enlaces a la documentación de la comunidad para ['require'] (http://www.ruby-doc.org/core-2.1.1/Kernel.html#method-i- require) y ['include'] (http://ruby-doc.org/core-2.1.1/Module.html#method-i-include), y también relevante, [' Module # append_features'] (http: //ruby-doc.org/core-2.1.1/Module.html#method-i-append_features). –