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
method = m.method("params_for_#{name}")
MetaUtils.extend_method(m, "params_for_#{new_name}") do |value|
method.call(value)
end
end