0
私は、クラスとインスタンスの両方のメソッドをモジュールに入れ、そのモジュールをモデルに組み込む方法について疑問に思っていました。モジュールをRails 3にインスタンスとクラスの両方のメソッド(とHTTPparty)に含める
私は他の例を扱っていますが、include HTTPpartを正しく配置する場所を理解することは苦労しています。 Vimeoの 含めると呼び出すことができること:
User.vimeo_account("name")
として使用してUserモデルに取り付けることを目的と
module Vimeo
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
class Base
include HTTParty
base_uri 'vimeo.com/api/v2'
headers 'Content-Type' => 'application/json'
end
class VimeoUser < Base
def vimeo_account(account_name)
@id = account_name
end
end
end
def info
Vimeo::Base.get("http://vimeo.com/api/v2/#{@id}/info.json")
end
end
:以下
は私が午前どこの詳細ですよく、user = User.new
user.info
アドバイスをいただければ幸いです。
アイデアは私のモジュールを持っていることでしたユーザモデルにロードすることができます。ユーザは、インスタンスメソッドとクラスメソッドの両方を呼び出すことができます。 – Galaxy
Vimeoと呼ばれるクラス(おそらくすべての外部のやりとり専用のモジュール内にあります)は、user_infoなどのインスタンスメソッドを持ちます。これはUserクラスで必要な正確な情報を提供します。 。このクラスのvimeoには、base_uriを含めることができ、self.class.get()を実行し、必要な情報を与えるためにjsonを解析するインスタンスメソッドを持つことができます。このクラスのVimeoは、「include HTTParty」を持っていて、HTTPartyのすべてのGorinessをカプセル化していました。ちょっとした提案。 –
jake
私はこのようなことをやってしまいました。 – Galaxy