cover

Cách tìm ra method đang được gọi trong Ruby

Sẵn đây e xin phép chia sẽ 1 trick để debug trong ruby với mọi người, ai biết rồi thì bỏ qua cho em nha (hi vọng không phải em là người biết cuối cùng (rofl))

Chuyện là trong dự án có rất nhiều module, gem được include vào `active_record.rb`, khi mình định nghĩa 1 method mới mà lỡ trùng với method của gem nào đó đã defined rồi(và include vào sau) thì nó sẽ gọi method đó.

Issue của em là: define 1 method mới tên là publish, xui cái là nó đã được define rồi nên lúc chạy nó bào lỗi private method.

send-ruby-1024x212 Cách tìm ra method đang được gọi trong Ruby

Cách để tìm method nó đang gọi là dùng send

send-ruby-to-find-private-method-1024x123 Cách tìm ra method đang được gọi trong Ruby

… và thế là chúa đã giúp em tìm ra được nguyên nhân bị private method. Method publish đã được defined trong gem `wisper`

Câu chuyện của em đến đây là hết ạ.

Thanks to Deepesh.

Simple note for me!