Module: ActsAsTaggableOn::Taggable::Cache::Columns
- Defined in:
- lib/acts_as_taggable_on/taggable/cache.rb
Instance Method Summary collapse
-
#columns ⇒ Object
ActiveRecord::Base.columns makes a database connection and caches the calculated columns hash for the record as @columns.
- #reset_column_information ⇒ Object
Instance Method Details
#columns ⇒ Object
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
20 21 22 23 24 25 26 |
# File 'lib/acts_as_taggable_on/taggable/cache.rb', line 20 def columns @acts_as_taggable_on_cache_columns ||= begin db_columns = super if (db_columns) db_columns end end |
#reset_column_information ⇒ Object
28 29 30 31 |
# File 'lib/acts_as_taggable_on/taggable/cache.rb', line 28 def reset_column_information super @acts_as_taggable_on_cache_columns = nil end |