2009-06-23 10 views
0

メソッドを上書きして自分のプラグインを追加する必要があります。これまでのところ、私はStrictly Untyped'sのガイドに従ってきましたが、私はあまり成功しませんでした。基本的には、libディレクトリから拡張子をロードするファイルがイニシャライザフォルダにあります。私はその後、拡張すると、元のクラスをロードレールプラグインを拡張する

require 'amazon_extensions/question_generator_extendors.rb' 
require 'amazon/webservices/mturk/question_generator.rb' 

Amazon::WebServices::MTurk::QuestionGenerator.class_eval do 
include Amazon::QuestionGeneratorExtendors 
end 

は私の延長(アマゾン:: QuestionGeneratorExtendors)が含ま

その後で:私の初期化子フォルダで

私はこれを使用してファイルを持っています

module Amazon 
    module QuestionGeneratorExtendors 

    def self.included(base) 
     base.class_eval {include InstanceMethods} 
    end 

    module InstanceMethods 
     def ask(*args) 
     case @type 
     when :Basic 
      askBasic(args.join) 
     when :Formatted 
      askFormatted(args.join) 
     end 
     end 

     def askFormatted(text) 
     id = "FormattedQuestion#{@questions.size+1}" 
     question = REXML::Element.new 'FormattedContent' 
     ... 
     end 
    end 
    end 
end 

しかし、私は試してみて、それはまだn個意志これを実行すると:私はquestion_generator_extendors.rbが含まれているamazon_extensionsフォルダを持っているlib /ディレクトリ私の変更を認識しません。何かご意見は?

答えて

0

requireステートメントを交換してみてください。

ので、代わりに

require 'amazon_extensions/question_generator_extendors.rb' 
require 'amazon/webservices/mturk/question_generator.rb' 

のやる

require 'amazon/webservices/mturk/question_generator.rb' 
require 'amazon_extensions/question_generator_extendors.rb'