rubyで動的にメソッド呼び出しをしたい時、Object#send()を使うと文字列やシンボルでメソッドを呼び出す事が出来ます。 ただこの機能を使うと意図せずにカプセル化を壊す事が出来てしまうため、publicメソッドのみ呼び出すようにしたい場合はObject#public_send()を使うと良いです。 myclass.rb class MyClass def hoge "hogehoge" end private def fuga "fugafuga" end end public_sendを使ってprivateメソッド(fuga)を実行してみます。 [2] pry(main)> require './myclass.rb' => true [3] pry(main)> obj = MyClass.new => #<MyClass:0x007fe89b2043e8> [4] pry(m
![Object#public_send()で安全にメソッドを呼び出す - siso9toの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/1296f1a320b53ba83ab09fe9418cbf9dd2a24ff7/height=288;version=1;width=512/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F51TODrMIEnL._SL160_.jpg)