lib/snake-eyes/interface_changes.rb in snake-eyes-0.1.0 vs lib/snake-eyes/interface_changes.rb in snake-eyes-1.0.0

- old
+ new

@@ -3,10 +3,24 @@ KEYS_ALWAYS_PRESENT = [ "controller", "action" ] + if Rails::VERSION::MAJOR >= 5 + def _prepare(transformed_params) + # We permit all parameter values so that we many convert it to a hash, to work + # with ActionPack 5.2's ActionController::Parameters initializer + _transform_params = transformed_params.dup + _transform_params.permit! + _transform_params.to_h + end + else + def _prepare(transformed_params) + transformed_params + end + end + def params(options = {}) validate_options(options) original_params = super() @@ -28,13 +42,14 @@ options[:nested_attributes] = nested_schema return @previous_params[options] if @previous_params[options] - transformed_params = deep_transform(original_params, options) + transformed_params = deep_transform(_prepare(original_params), options) - @previous_params[options] = @snake_eyes_params = ActionController::Parameters.new(transformed_params) + @previous_params[options] = + @snake_eyes_params = ActionController::Parameters.new(transformed_params) log_snakized_params @snake_eyes_params end @@ -47,14 +62,13 @@ end end def log_snakized_params if SnakeEyes.log_snake_eyes_parameters - ignored_params = ActionController::LogSubscriber::INTERNAL_PARAMS filtered_params = request.send(:parameter_filter).filter(@snake_eyes_params.except(*ignored_params)) - logger.info " SnakeEyes Parameters: #{filtered_params.inspect}" + logger.info " SnakeEyes Parameters: #{_prepare(filtered_params).inspect}" end end def deep_transform(target, options = {})