def define_method_attribute(attr_name)
cast_code = attribute_cast_code(attr_name)
generated_attribute_methods.module_eval "def __temp__\n\#{internal_attribute_access_code(attr_name, cast_code)}\nend\nalias_method '\#{attr_name}', :__temp__\nundef_method :__temp__\n", __FILE__, __LINE__ + 1
generated_external_attribute_methods.module_eval "def __temp__(v, attributes, attributes_cache, attr_name)\n\#{external_attribute_access_code(attr_name, cast_code)}\nend\nalias_method '\#{attr_name}', :__temp__\nundef_method :__temp__\n", __FILE__, __LINE__ + 1
end