Почему это не работает?
module StringRefinement
refine String do
def bar
length
end
end
end
using StringRefinement
"abcdefghijklmnopqrstuvwxyz".send(:bar)
#NoMethodError: undefined method 'bar' for "abcdefghijklmnopqrstuvwxyz":String
Может кто-нибудь объяснить, почему send
здесь не работает? И есть ли способ динамически вызывать методы, определенные в уточнении? Кажется, я не могу найти хорошего, полного объяснения того, как работают уточнения в Ruby 2.0.