Commit 43c0f43f authored by Ryan Scott's avatar Ryan Scott

Changed the attr methods in mrblib, so that they take advantage of validating...

Changed the attr methods in mrblib, so that they take advantage of validating the name against a string parameter if need be
parent 3ebd8167
...@@ -5,8 +5,8 @@ class Module ...@@ -5,8 +5,8 @@ class Module
name = name.to_s name = name.to_s
raise(NameError, "#{name.inspect} is not allowed as an instance variable name") if name.include?('@') || name.include?('?') || name.include?('$') raise(NameError, "#{name.inspect} is not allowed as an instance variable name") if name.include?('@') || name.include?('?') || name.include?('$')
name2 = ('@'+name).intern attr_name = '@'+name
define_method(name){self.instance_variable_get(name2)} define_method(name){self.instance_variable_get(attr_name)}
end end
end end
# 15.2.2.4.14 # 15.2.2.4.14
...@@ -15,9 +15,9 @@ class Module ...@@ -15,9 +15,9 @@ class Module
name = name.to_s name = name.to_s
raise(NameError, "#{name.inspect} is not allowed as an instance variable name") if name.include?('@') || name.include?('?') || name.include?('$') raise(NameError, "#{name.inspect} is not allowed as an instance variable name") if name.include?('@') || name.include?('?') || name.include?('$')
name2 = ('@'+name).intern attr_name = '@'+name
name = (name+"=").intern name = (name+"=").intern
define_method(name){|v|self.instance_variable_set(name2,v)} define_method(name){|v|self.instance_variable_set(attr_name,v)}
end end
end end
# 15.2.2.4.12 # 15.2.2.4.12
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment