module Sequel::Plugins::LazyAttributes::ClassMethods

  1. lib/sequel/plugins/lazy_attributes.rb

Methods

Public Instance

  1. freeze
  2. lazy_attributes

Public Instance methods

freeze()

Freeze lazy attributes module when freezing model class.

[show source]
   # File lib/sequel/plugins/lazy_attributes.rb
42 def freeze
43   @lazy_attributes_module.freeze if @lazy_attributes_module
44 
45   super
46 end
lazy_attributes(*attrs)

Remove the given attributes from the list of columns selected by default. For each attribute given, create an accessor method that allows a lazy lookup of the attribute. Each attribute should be given as a symbol.

[show source]
   # File lib/sequel/plugins/lazy_attributes.rb
51 def lazy_attributes(*attrs)
52   unless select = dataset.opts[:select]
53     select = dataset.columns.map{|c| Sequel.qualify(dataset.first_source, c)}
54   end
55   db_schema = @db_schema
56   set_dataset(dataset.select(*select.reject{|c| attrs.include?(dataset.send(:_hash_key_symbol, c))}))
57   @db_schema = db_schema
58   attrs.each{|a| define_lazy_attribute_getter(a)}
59 end