2

クラス拡張機能を他のモジュール/クラス/ファイルで利用できるようにしたいと考えています。例えば:

module UsefulStuff
  class Object
    def blank?
      respond_to?(:empty?) ? empty? : !self
    end
  end
end

他のクラス/モジュール/ファイル:

if string.blank? ...

これを機能させるには、何をどのようにインクルード/ロード/リクエスト/...しますか?

4

1 に答える 1

4

クラスの代わりにモジュールを使用する必要があります。

module UsefulStuff
  module Blank
    def blank?
      respond_to?(:empty?) ? empty? : !self
    end
  end
end

そしてそれをStringクラスに含めることができます:

class String
  include UsefulStuff::Blank
end

または、オブジェクトに対してグローバルにする場合:

class Object
  include UsefulStuff::Blank
end
于 2012-09-01T08:33:27.370 に答える