Module: ActiveRecordLazyColumns::ModelExtension
- Defined in:
- lib/activerecord_lazy_columns.rb
Overview
Extension for Active Record to add ‘lazy_columns` method with an ability to lazily load specific columns.
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#lazy_columns(*columns) ⇒ Object
Declare some columns to be loaded lazily.
Instance Attribute Details
#lazy_loaded_columns ⇒ Object
14 15 16 |
# File 'lib/activerecord_lazy_columns.rb', line 14 def lazy_loaded_columns @lazy_loaded_columns || [] end |
Instance Method Details
#lazy_columns(*columns) ⇒ Object
Declare some columns to be loaded lazily.
25 26 27 28 29 30 31 |
# File 'lib/activerecord_lazy_columns.rb', line 25 def lazy_columns(*columns) columns = columns.map(&:to_s) self.lazy_loaded_columns = columns default_scope { select(column_names - columns) } columns.each { |column| define_lazy_reader_for(column) } end |