Это не «шаблон»; он просто указывает, в каком модуле (или классе) содержится данный класс.
module SomeModule
class SomeClass
end
end
SomeModule::SomeClass # => SomeModule::SomeClass
Это позволяет вам именовать пространство ваших классов, а не помещать их все в глобальное пространство имен. Вы можете сделать вложение настолько глубоким, насколько пожелаете:
module A
class B
module C
class D
end
end
end
end
Многие (возможно, даже большинство) гемов используют этот вид иерархического вложения для организации своих классов и модулей.