Class: ActiveRecord::AttributeMethods::AttributeMethodCache
| Relationships & Source Files | |
| Inherits: | Object | 
| Defined in: | activerecord/lib/active_record/attribute_methods.rb | 
Class Method Summary
- .new ⇒ AttributeMethodCache constructor
Instance Method Summary
Constructor Details
    .new  ⇒ AttributeMethodCache 
  
# File 'activerecord/lib/active_record/attribute_methods.rb', line 38
def initialize @module = Module.new @method_cache = ThreadSafe::Cache.new end
Instance Method Details
#[](name)
[ GitHub ]# File 'activerecord/lib/active_record/attribute_methods.rb', line 43
def [](name) @method_cache.compute_if_absent(name) do safe_name = name.unpack('h*').first temp_method = "__temp__#{safe_name}" ActiveRecord::AttributeMethods::AttrNames.set_name_cache safe_name, name @module.module_eval method_body(temp_method, safe_name), __FILE__, __LINE__ @module.instance_method temp_method end end