aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/strong_parameters.rb
diff options
context:
space:
mode:
authorGuillermo Iguaran <guilleiguaran@gmail.com>2013-11-02 14:30:03 -0500
committerGuillermo Iguaran <guilleiguaran@gmail.com>2013-11-02 14:30:03 -0500
commitf886fe2d8ccc900cde2629577e5c0be8c7d4c67f (patch)
treef2d92e0874f4984f8a2240debfe657c85b4a0792 /actionpack/lib/action_controller/metal/strong_parameters.rb
parentdb41eb8a6ea88b854bf5cd11070ea4245e1639c5 (diff)
downloadrails-f886fe2d8ccc900cde2629577e5c0be8c7d4c67f.tar.gz
rails-f886fe2d8ccc900cde2629577e5c0be8c7d4c67f.tar.bz2
rails-f886fe2d8ccc900cde2629577e5c0be8c7d4c67f.zip
Revert "Merge pull request #9660 from sebasoga/change_strong_parameters_require_behaviour"
This reverts commit c2b5a8e61ba0f35015e6ac949a5c8fce2042a1f2, reversing changes made to 1918b12c0429caec2a6134ac5e5b42ade103fe90. See: https://github.com/rails/rails/pull/9660#issuecomment-27627493
Diffstat (limited to 'actionpack/lib/action_controller/metal/strong_parameters.rb')
-rw-r--r--actionpack/lib/action_controller/metal/strong_parameters.rb32
1 files changed, 9 insertions, 23 deletions
diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb
index 8ae7e474a3..fcc76f6225 100644
--- a/actionpack/lib/action_controller/metal/strong_parameters.rb
+++ b/actionpack/lib/action_controller/metal/strong_parameters.rb
@@ -10,6 +10,8 @@ module ActionController
# params = ActionController::Parameters.new(a: {})
# params.fetch(:b)
# # => ActionController::ParameterMissing: param not found: b
+ # params.require(:a)
+ # # => ActionController::ParameterMissing: param not found: a
class ParameterMissing < KeyError
attr_reader :param # :nodoc:
@@ -19,20 +21,6 @@ module ActionController
end
end
- # Raised when a required parameter value is empty.
- #
- # params = ActionController::Parameters.new(a: {})
- # params.require(:a)
- # # => ActionController::EmptyParameter: value is empty for required key: a
- class EmptyParameter < IndexError
- attr_reader :param
-
- def initialize(param)
- @param = param
- super("value is empty for required key: #{param}")
- end
- end
-
# Raised when a supplied parameter is not expected.
#
# params = ActionController::Parameters.new(a: "123", b: "456")
@@ -169,22 +157,20 @@ module ActionController
self
end
- # Ensures that a parameter is present. If it's present and not empty,
- # returns the parameter at the given +key+, if it's empty raises
- # an <tt>ActionController::EmptyParameter</tt> error, otherwise
- # raises an <tt>ActionController::ParameterMissing</tt> error.
+ # Ensures that a parameter is present. If it's present, returns
+ # the parameter at the given +key+, otherwise raises an
+ # <tt>ActionController::ParameterMissing</tt> error.
#
# ActionController::Parameters.new(person: { name: 'Francesco' }).require(:person)
# # => {"name"=>"Francesco"}
#
- # ActionController::Parameters.new(person: {}).require(:person)
- # # => ActionController::EmptyParameter: value is empty for required key: person
+ # ActionController::Parameters.new(person: nil).require(:person)
+ # # => ActionController::ParameterMissing: param not found: person
#
- # ActionController::Parameters.new(name: {}).require(:person)
+ # ActionController::Parameters.new(person: {}).require(:person)
# # => ActionController::ParameterMissing: param not found: person
def require(key)
- raise(ActionController::ParameterMissing.new(key)) unless self.key?(key)
- self[key].presence || raise(ActionController::EmptyParameter.new(key))
+ self[key].presence || raise(ParameterMissing.new(key))
end
# Alias of #require.