Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Ruby 1.9.2: explicitly raise NoMethodError for explicit coercion atte…

…mpts
  • Loading branch information...
commit 63e435955e16cf976a8382e757529f4597549f2e 1 parent 071af66
@jeremy jeremy authored
Showing with 4 additions and 0 deletions.
  1. +4 −0 activemodel/lib/active_model/attribute_methods.rb
View
4 activemodel/lib/active_model/attribute_methods.rb
@@ -235,6 +235,10 @@ def attribute_method_matchers #:nodoc:
# It's also possible to instantiate related objects, so a Client class belonging to the clients
# table with a +master_id+ foreign key can instantiate master through Client#master.
def method_missing(method_id, *args, &block)
+ if method_id == :to_ary || method_id == :to_str
+ raise NoMethodError, "undefined method `#{method_id}' for #{inspect}:#{self.class}"
+ end
+
method_name = method_id.to_s
if match = match_attribute_method?(method_name)
guard_private_attribute_method!(method_name, args)
Please sign in to comment.
Something went wrong with that request. Please try again.