module Sequel::Database::FreezeDatasets
Public Class Methods
extended(db)
click to toggle source
Reset the default dataset for this database after loading the extension.
# File lib/sequel/extensions/freeze_datasets.rb, line 38 def self.extended(db) db.extend_datasets(DatasetMethods) end
Public Instance Methods
dataset()
click to toggle source
Freeze datasets created from this dataset.
Calls superclass method
# File lib/sequel/extensions/freeze_datasets.rb, line 52 def dataset super.freeze end
from(*args, &block)
click to toggle source
Cache returned dataset if given a single argument and no block.
Calls superclass method
# File lib/sequel/extensions/freeze_datasets.rb, line 43 def from(*args, &block) if !block && args.length == 1 && (table = args[0]).is_a?(Symbol) @default_dataset.send(:cached_dataset, :"_from_#{table}_ds"){super} else super end end
Private Instance Methods
remove_cached_schema(table)
click to toggle source
Clear the cache of the default dataset when removing a cached schema, in order to clear the from table cache.
Calls superclass method
# File lib/sequel/extensions/freeze_datasets.rb, line 60 def remove_cached_schema(table) cache = @default_dataset.send(:cache) Sequel.synchronize{cache.clear} super end