def configure_client
super
unless self::XML.include?(ConfiguredXmlGrammars)
self::XML.module_eval do
include(ConfiguredXmlGrammars)
define_configured_grammars
end
end
unless self::Options.include?(ConfiguredOptionGrammars)
self::Options.module_eval do
include(ConfiguredOptionGrammars)
define_configured_grammars
end
end
api_config[:operations].each do |name, customizations|
option_grammar = self::Options.operation_grammar(name)
add_client_request_method(Inflection.ruby_name(name).to_sym,
:xml_grammar =>
self::XML.operation_grammar(name)) do
configure_request do |request, options|
request.add_param("Action", name)
option_grammar.request_params(options).each do |param|
request.add_param(param)
end
end
end
end
end