diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2011-03-16 21:19:35 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2011-03-16 21:20:44 -0300 |
commit | c834a751d2acbd55b580cbba2e96dd29c5d9a452 (patch) | |
tree | 423e181f132e2977ac124b83a59032d21ac7bca8 /activemodel/lib/active_model/attribute_methods.rb | |
parent | fda45f4fc493f5596375199fefe854df24b1ffbf (diff) | |
download | rails-c834a751d2acbd55b580cbba2e96dd29c5d9a452.tar.gz rails-c834a751d2acbd55b580cbba2e96dd29c5d9a452.tar.bz2 rails-c834a751d2acbd55b580cbba2e96dd29c5d9a452.zip |
define_attr_method correctly defines methods with invalid identifiers
Diffstat (limited to 'activemodel/lib/active_model/attribute_methods.rb')
-rw-r--r-- | activemodel/lib/active_model/attribute_methods.rb | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/activemodel/lib/active_model/attribute_methods.rb b/activemodel/lib/active_model/attribute_methods.rb index 2a99450a3d..21ddef6b75 100644 --- a/activemodel/lib/active_model/attribute_methods.rb +++ b/activemodel/lib/active_model/attribute_methods.rb @@ -108,9 +108,8 @@ module ActiveModel else # use eval instead of a block to work around a memory leak in dev # mode in fcgi - sing.class_eval <<-eorb, __FILE__, __LINE__ + 1 - def #{name}; #{value.nil? ? 'nil' : value.to_s.inspect}; end - eorb + value = value.nil? ? 'nil' : value.to_s + sing.send(:define_method, name) { value } end end |