module Sequel::Plugins::Cacheable::DatasetMethods
Public Instance Methods
all(*args, &block)
click to toggle source
Calls superclass method
# File lib/sequel-cacheable/dataset_methods.rb, line 6 def all(*args, &block) if( model && model.respond_to?(:cache_fetch) && model.cache_options[:query_cache] && @row_proc.kind_of?(Class) && @row_proc.included_modules.include?(Sequel::Model::InstanceMethods) ) @row_proc.cache_fetch(cache_key) do super(*args, &block) end else super(*args, &block) end end
cache_key()
click to toggle source
# File lib/sequel-cacheable/dataset_methods.rb, line 48 def cache_key "Query:#{select_sql.gsub(/ +/, '_')}" end
first(*args)
click to toggle source
Calls superclass method
# File lib/sequel-cacheable/dataset_methods.rb, line 22 def first(*args) if( model && model.respond_to?(:cache_fetch) && model.cache_options[:query_cache] && @row_proc.kind_of?(Class) && @row_proc.included_modules.include?(Sequel::Model::InstanceMethods) ) @row_proc.cache_fetch("#{cache_key}:first") do super(*args) end else super(*args) end end
with_pk(pk)
click to toggle source
Calls superclass method
# File lib/sequel-cacheable/dataset_methods.rb, line 38 def with_pk(pk) if pk.is_a(Integer) model.cache_fetch(pk.to_s) do super(pk) end else super(pk) end end