Мне нужно расширить плагин, переписав метод и добавив свой собственный. До сих пор я следовал руководству 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 / у меня есть папка amazon_extensions, которая содержит question_generator_extendors.rb:
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
Но когда я попытаюсь запустить его, он все равно не распознает мои изменения. Есть мысли?