Могу ли я расширить класс Ruby, чтобы он динамически вел себя как OpenStruct?

У меня есть класс Ruby, который включает в себя модуль. Я хочу, чтобы включаемый класс вел себя как OpenStruct. Как мне добиться этого без явного наследования от OpenStruct?

class Book
  include MyModule
end

module MyModule
  def self.included(klass)
    # Make including class behave like OpenStruct
  end
end

вместо

class Book < OpenStruct
  include MyModule
end
7
задан Sathish 25 May 2012 в 19:25
поделиться