Вызов методов родительского модуля из вложенного класса - PullRequest
15 голосов
/ 07 августа 2009

У меня проблемы с выяснением, как вызвать метод из родительского модуля в классе.

Я хочу вызывать функции модуля из родительского модуля в моих вложенных классах, но не могу найти способ сделать это.

пример:

module Awesome
  class Checker
    def awesome?
      awesome_detection
    end
  end

  module_function
  def awesome_detection
    true
  end

end

Если я звоню Awesome::Checker.new.awesome?, он не знает awesome_detection

Есть идеи о том, что мне не хватает?

1 Ответ

23 голосов
/ 07 августа 2009
#!/usr/bin/env ruby -wKU

module Awesome

  class Checker
    def awesome?
      Awesome.awesome_detection
    end
  end

  def self.awesome_detection
    puts "yes"
  end

end

Awesome::Checker.new.awesome?
# => yes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...