提交 6bff6439 编写于 作者: J Jon Leighton

Fewer string allocations in attribute method

上级 f6b50463
......@@ -76,17 +76,17 @@ def cacheable_column?(column)
end
def internal_attribute_access_code(attr_name, cast_code)
access_code = "(v=@attributes['#{attr_name}']) && #{cast_code}"
access_code = "(v=@attributes[attr_name]) && #{cast_code}"
unless attr_name == primary_key
access_code.insert(0, "missing_attribute('#{attr_name}', caller) unless @attributes.has_key?('#{attr_name}'); ")
access_code.insert(0, "missing_attribute(attr_name, caller) unless @attributes.has_key?(attr_name); ")
end
if cache_attribute?(attr_name)
access_code = "@attributes_cache['#{attr_name}'] ||= (#{access_code})"
access_code = "@attributes_cache[attr_name] ||= (#{access_code})"
end
access_code
"attr_name = '#{attr_name}'; #{access_code}"
end
def external_attribute_access_code(attr_name, cast_code)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册