module ActsAsTaggableOn::Taggable::Cache::Columns
Public Instance Methods
columns()
click to toggle source
ActiveRecord::Base.columns makes a database connection and caches the
calculated columns hash for the record as @columns. Since we don't want to add caching methods until we confirm the presence of a caching column, and we don't want to force opening a database connection when the class is loaded, here we intercept and cache the call to :columns as @acts_as_taggable_on_cache_columns to mimic the underlying behavior. While processing this first call to columns, we do the caching column check and dynamically add the class and instance methods FIXME: this method cannot compile in rubinius
Calls superclass method
# File lib/acts_as_taggable_on/taggable/cache.rb, line 20 def columns @acts_as_taggable_on_cache_columns ||= begin db_columns = super _add_tags_caching_methods if _has_tags_cache_columns?(db_columns) db_columns end end
reset_column_information()
click to toggle source
Calls superclass method
# File lib/acts_as_taggable_on/taggable/cache.rb, line 28 def reset_column_information super @acts_as_taggable_on_cache_columns = nil end