Используйте irb, чтобы увидеть, что он делает. Вы можете отлаживать переменные и проверять, что они делают.
Это метод класса, поэтому вы можете создать класс в irb и проверить, что он делает.
Запустите irb так: -
irb (основной): 001: 0> def self.source_root
irb (основной): 002: 1> File.join (имя_файла файла ( FILE ), «шаблоны»)
irb (основной): 003: 1> конец
=> ноль
irb (основной): 004: 0> класс Foo
irb (основной): 005: 1> def self.source_root
irb (основной): 006: 2> File.join (имя_файла файла ( FILE ), «шаблоны»)
irb (основной): 007: 2> end
irb (основной): 008: 1> end
=> ноль
irb (основной): 009: 0> Foo.source_root
=> "./templates"
irb (основной): 010: 0>
irb (основной): 010: 0> ФАЙЛ
=> "(irb)"
irb (main): 011: 0> File.dirname ( FILE )
=> "."