module Sequel::Dataset::DeprecatedSingletonClassMethods

  1. lib/sequel/dataset/deprecated_singleton_class_methods.rb

This module implements methods to support deprecated use of extensions registered not using a module. In such cases, for backwards compatibility, Sequel has to use a singleton class for the dataset.


Public Instance

  1. extension
  2. with_extend

Public Instance methods


Load the extension into a clone of the receiver.

[show source]
   # File lib/sequel/dataset/deprecated_singleton_class_methods.rb
10 def extension(*a)
11   c = _clone(:freeze=>false)
12   c.send(:_extension!, a)
13   c.freeze
14 end
with_extend(*mods, &block)

Extend the cloned of the receiver with the given modules, instead of the default approach of creating a subclass of the receiver’s class and including the modules into that.

[show source]
   # File lib/sequel/dataset/deprecated_singleton_class_methods.rb
19 def with_extend(*mods, &block)
20   c = _clone(:freeze=>false)
21   c.extend(*mods) unless mods.empty?
22   c.extend( if block
23   c.freeze
24 end