module AWS::Core::OptionGrammar::ModuleMethods
def apply_rename_descriptor(m, name, new_name)
def apply_rename_descriptor(m, name, new_name) name = ruby_name(name) MetaUtils.extend_method(m, :validate) do |opts| raise ArgumentError.new("unexpected option foo") if opts.key?(name) or opts.key?(name.to_sym) opts = opts.dup opts[name] = opts[new_name] if opts.key?(new_name) opts[name.to_sym] = opts[new_name.to_sym] if opts.key?(new_name.to_sym) opts.delete(new_name) opts.delete(new_name.to_sym) super(opts) end # couldn't find a better way to alias a class method method = m.method("params_for_#{name}") MetaUtils.extend_method(m, "params_for_#{new_name}") do |value| method.call(value) end end