1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Implement ActionController::Parameters#inspect

Now that AC::Parameters is no longer a Hash, it shouldn't look like a hash.
This commit is contained in:
Benjamin Quorning 2016-02-17 13:35:55 +01:00
parent 39b1dd1c3d
commit a623442623
3 changed files with 15 additions and 2 deletions

View file

@ -109,7 +109,7 @@ module ActionController
cattr_accessor :permit_all_parameters, instance_accessor: false
cattr_accessor :action_on_unpermitted_parameters, instance_accessor: false
delegate :keys, :key?, :has_key?, :values, :has_value?, :value?, :empty?, :include?, :inspect,
delegate :keys, :key?, :has_key?, :values, :has_value?, :value?, :empty?, :include?,
:as_json, to: :@parameters
# By default, never raise an UnpermittedParameters exception if these
@ -574,6 +574,10 @@ module ActionController
dup
end
def inspect
"<#{self.class} #{@parameters}>"
end
def method_missing(method_sym, *args, &block)
if @parameters.respond_to?(method_sym)
message = <<-DEPRECATE.squish

View file

@ -134,4 +134,13 @@ class ParametersAccessorsTest < ActiveSupport::TestCase
params1 = ActionController::Parameters.new(hash1)
assert(params1 == hash1)
end
test "inspect shows both class name and parameters" do
assert_equal(
'<ActionController::Parameters {"person"=>{"age"=>"32", '\
'"name"=>{"first"=>"David", "last"=>"Heinemeier Hansson"}, ' \
'"addresses"=>[{"city"=>"Chicago", "state"=>"Illinois"}]}}>',
@params.inspect
)
end
end

View file

@ -988,7 +988,7 @@ module ApplicationTests
app 'development'
post "/posts.json", '{ "title": "foo", "name": "bar" }', "CONTENT_TYPE" => "application/json"
assert_equal '{"title"=>"foo"}', last_response.body
assert_equal '<ActionController::Parameters {"title"=>"foo"}>', last_response.body
end
test "config.action_controller.permit_all_parameters = true" do