Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
method_missing, потому что это очень плохая практика, мешает отладке, создает плодородную почву для будущих багов.
method_missing
что это за такой стандарт UTF, которий развивается?
Вы напишите конкретный пример, когда без method_missing не обойтись, тогда и поговорим.
class Lawyer; end
nick = Lawyer.new
nick.talk_simple
NoMethodError: undefined method 'talk_simple' for #<Lawyer:0x007f801aa81938>
mount_auth_for :admincurrent_admin
sign_in_admin(admin_model)
sign_out_admin
Ghost Methods — это лишь малая часть интересных возможностей в Ruby 2
irb(main):002:0> BasicObject.respond_to?(:method_missing, true)
=> true
irb(main):004:0> BasicObject.send(:undef_method, :method_missing)
=> BasicObject
irb(main):005:0> BasicObject.respond_to?(:method_missing, true)
=> false
irb(main):008:0> foo = Object.new
=> #<Object:0x007fa1c2831470>
irb(main):009:0> foo.bar
NoMethodError: undefined method `bar' for #<Object:0x007fa1c2831470>
Ghost Methods в Ruby (перевод)