class Sequel::Dataset::DatasetModule
This Module subclass is used by Sequel::Database#extend_datasets and Sequel::Dataset#with_extend to add dataset methods to classes. It adds some helper methods inside the module that can define named methods on the dataset instances which do specific actions. For example:
DB.extend_datasets do order :by_id, :id select :with_id_and_name, :id, :name where :active, :active end DB[:table].active.with_id_and_name.by_id # SELECT id, name FROM table WHERE active ORDER BY id
Public Class Methods
def_dataset_caching_method(mod, meth)
click to toggle source
Define a method in the module
# File lib/sequel/dataset/dataset_module.rb, line 28 def self.def_dataset_caching_method(mod, meth) mod.send(:define_method, meth) do |name, *args, &block| if block define_method(name){public_send(meth, *args, &block)} else key = :"_#{meth}_#{name}_ds" define_method(name) do cached_dataset(key){public_send(meth, *args)} end end end end