1
私はActiveRecordにメソッドを追加する私の最初のRails gemを書いています。私はActiveRecordに追加するメソッドの中から他のメソッドを呼び出す簡単な方法を理解できないようです。私が使用すべきパターンがありますか?あなたはインスタンス方法としてクラス(同等に、Class
オブジェクトActiveRecord::Base
のインスタンスメソッド)法、およびsome_utility_method
としてmy_class_method
を持つことになりますMyModule
、ActiveRecord::Base
を含めたらRubyモジュール内の他のメソッドへのアクセス
module MyModule
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def my_class_method
# This doesn't work
some_utility_method
end
end
def some_utility_method
# Do something useful
end
end
ActiveRecord::Base.send(:include, MyModule)
私が考えたものであること:あなたがモジュールにプライベートユーティリティメソッドをしたい場合、あなたはこのようにそれを行うことができ :それは
some_utility_method
@MattFordham - Ah、ok。その中で解決策を編集したのですか? – Chowlett
優秀、ちょうど私が必要としたもの。ありがとう! –