Implement PR suggestions
This commit is contained in:
parent
e388ebe0f2
commit
4370293a68
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user