Class/Module Index [+]

Quicksearch

Sequel::Plugins::StaticCache::ClassMethods

Attributes

cache[R]

A frozen ruby hash holding all of the model's frozen instances, keyed by frozen primary key.

Public Instance Methods

all() click to toggle source

An array of all of the model's frozen instances, without issuing a database query.

# File lib/sequel/plugins/static_cache.rb, line 34
def all
  @all.dup
end
cache_get_pk(pk) click to toggle source

Return the frozen object with the given pk, or nil if no such object exists in the cache, without issuing a database query.

# File lib/sequel/plugins/static_cache.rb, line 40
def cache_get_pk(pk)
  cache[pk]
end
each(&block) click to toggle source

Yield each of the model's frozen instances to the block, without issuing a database query.

# File lib/sequel/plugins/static_cache.rb, line 46
def each(&block)
  @all.each(&block)
end
map(*a) click to toggle source

If no arguments are given, yield each of the model's frozen instances to the block. and return a new array, without issuing a database query. If any arguments are given, use the default Sequel behavior.

# File lib/sequel/plugins/static_cache.rb, line 53
def map(*a)
  if a.empty?
    @all.map(&(Proc.new if block_given?))
  else
    super
  end
end
set_dataset(*) click to toggle source

Reload the cache when the dataset changes.

# File lib/sequel/plugins/static_cache.rb, line 62
def set_dataset(*)
  s = super
  load_cache
  s
end
to_hash(*a) click to toggle source

If no arguments are given, yield an identity map for the model with frozen primary keys and instances, without issuing a database query. If any arguments are given, use the default Sequel behavior.

# File lib/sequel/plugins/static_cache.rb, line 71
def to_hash(*a)
  if a.empty?
    cache.dup
  else
    super
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.