Если объекты (например, строки, числа или плавающие числа) являются существительными в языке Ruby, методы - это глаголы. Каждому методу нужен объект. Как правило, очень просто сказать, какой объект выполняет метод: это то, что идет перед точкой. Иногда, впрочем, это не столь очевидно. Когда мы используем puts, gets - где их объекты? В Ruby неявный объект - любой объект, где вы находитесь. Но мы даже не знаем, как быть в объекте еще; мы всегда были внутри специального объекта (главного), который Ruby создал для нас, который представляет всю программу. Вы всегда можете посмотреть, в каком объекте вы сейчас находитесь (текущий объект), используя специальную переменную self.
puts self  
За более детально информацией о self, сюда (тута сцылко на селф).