name1 - это имя метод, все верно, но у него параметр является hash
name2: - ключ
:name3 - значение
Вызов это эквивалентен
name1({name2: :name3})
С двоеточия начинается
symbol
Если использовать старый синтаксис хэшей, то может быть будет понятнее
name1({:name2 => :name3})