Используя define_method внутри модуля, который включается в класс?

У меня что-то вроде этого:

module MyModule
    define_method(:foo){ puts "yeah!" }
end

class User
  include MyModule
end

Но это работает не так, как задумано ... Они не определены. Также мне нужно использовать модуль, потому что я хочу отличать методы от обычных пользовательских методов. Что мне нравится:

MyModule.instance_methods

Пожалуйста, помогите .. что мне не хватает? Я также пробовал:

module MyModule
  (class << self; self; end).class_eval do
    define_method(:foo){ puts "yeah!" }
  end
end

, который также не работает: /

, чтобы уточнить ... Я хотел бы использовать:

User.first.foo

not

MyModule.foo
7
задан pjam 9 September 2014 в 15:29
поделиться