Fewer string allocations in attribute method
This commit is contained in:
parent
f6b5046305
commit
6bff6439b1
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user