mirror of
https://github.com/github/rails.git
synced 2026-04-04 03:00:58 -04:00
Add descriptive messages to the exceptions thrown by cgi_methods. Closes #6091.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5066 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Add descriptive messages to the exceptions thrown by cgi_methods. Closes #6091. [Nicholas Seckar]
|
||||
|
||||
* Update JavaScriptGenerator#show/hide/toggle/remove to new Prototype syntax for multiple ids, #6068 [petermichaux@gmail.com]
|
||||
|
||||
* Update UrlWriter to support :only_path. [Nicholas Seckar, Dave Thomas]
|
||||
|
||||
@@ -156,9 +156,9 @@ class CGIMethods #:nodoc:
|
||||
# Add a container to the stack.
|
||||
#
|
||||
def container(key, klass)
|
||||
raise TypeError if top.is_a?(Hash) && top.key?(key) && ! top[key].is_a?(klass)
|
||||
type_conflict! klass, top[key] if top.is_a?(Hash) && top.key?(key) && ! top[key].is_a?(klass)
|
||||
value = bind(key, klass.new)
|
||||
raise TypeError unless value.is_a?(klass)
|
||||
type_conflict! klass, value unless value.is_a?(klass)
|
||||
push(value)
|
||||
end
|
||||
|
||||
@@ -190,5 +190,11 @@ class CGIMethods #:nodoc:
|
||||
|
||||
return value
|
||||
end
|
||||
|
||||
def type_conflict!(klass, value)
|
||||
raise TypeError, "Conflicting types for parameter containers
|
||||
Expected an instance of #{klass}, but found found one of #{value.class}"
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user