Implement PR suggestions

This commit is contained in:
Jason Meller 2021-12-03 00:24:21 -05:00 committed by Rafael Mendonça França
parent e388ebe0f2
commit 4370293a68
No known key found for this signature in database
GPG Key ID: FC23B6D0F1EEE948
2 changed files with 5 additions and 6 deletions

@ -57,9 +57,9 @@ def message
end
def generate(name, options, path_parameters)
bind_params = options.delete(:bind_params) || {}
original_options = options.dup
options = options.reverse_merge(bind_params)
bind_params = options.delete(:bind_params) || {}
options = bind_params.merge(options)
constraints = path_parameters.merge(options)
missing_keys = nil
@ -73,11 +73,11 @@ def generate(name, options, path_parameters)
missing_keys = missing_keys(route, parameterized_parts)
next if missing_keys && !missing_keys.empty?
params = options.dup.delete_if do |key, _|
params = options.delete_if do |key, _|
# top-level params' normal behavior of generating query_params
# should be preserved even if the same key is also a bind_param
(bind_params.key?(key) && !original_options.key?(key)) ||
parameterized_parts.key?(key) || route.defaults.key?(key)
parameterized_parts.key?(key) || route.defaults.key?(key)
end
defaults = route.defaults

@ -282,8 +282,7 @@ def handle_positional_args(controller_options, inner_options, args, result, path
if args.size < path_params_size
path_params -= controller_options.keys
# take bind_params into account
path_params -= result.reverse_merge(result[:bind_params] || {}).keys
path_params -= (result[:bind_params] || {}).merge(result).keys
else
path_params = path_params.dup
end