メソッドを上書きし、独自のメソッドを追加して、プラグインを拡張する必要があります。これまでのところ、 Strictly Untyped のガイドに従っていますが、あまり成功していません。基本的に、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
拡張したい元のクラスをロードし、拡張機能を含める場所 (Amazon::QuestionGeneratorExtendors)
次に、lib/ ディレクトリに、question_generator_extendors.rb を含む amazon_extensions フォルダーがあります。
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
しかし、これを実行しようとすると、変更が認識されません。何かご意見は?