Rubyのobjectとselfの違い

先日、railsで継承元のclassで定義されているmethodを継承先のclassで使おうとしたらエラーになりました

class parentClass

    def hoge
        return 'hoge'
    end
end
class ChildClass < ParentClass
     def fuga
        object.hoge
    end
end

これはエラーになります

正しく動かすには以下の書き方をする必要があります

class parentClass

    def hoge
        return 'hoge'
    end
end
class ChildClass < ParentClass
     def fuga
        self.hoge
    end
end

objectをselfに変えると継承元のmethodが使えるようになります

参考

詳しいスコープの違いはリンクを参照してください

ruby-for-beginners.rubymonstas.org