Они почти идентичны.
Разница в том, что если SomeClass#include
является частным, последний все равно сможет его вызвать из-за характера Object#send
Если бы SomeClass#include
был закрытым, а вы использовали первое, это вызвало бы ошибку.
Таким образом, преимущество использования последнего заключается в том, что вы можете включать модуль независимо от его видимости.(Независимо от того, считаете ли вы на самом деле доступ к закрытым методам «правильной» вещью, это отдельная история. Это, безусловно, дает вам огромную силу).