Class Sequel::BasicObject
In: lib/sequel/sql.rb
Parent: Object

If on 1.9, create a Sequel::BasicObject class that is just like the default BasicObject class, except that missing constants are resolved in Object. This allows the virtual row support to work with classes without prefixing them with ::, such as:

  DB[:bonds].filter{maturity_date > Time.now}

Methods

Constants

KEEP_METHODS = %w"__id__ __send__ __metaclass__ instance_eval == equal? initialize method_missing"   The instance methods to not remove from the class when removing other methods.

Public Class methods

Lookup missing constants in ::Object

[Source]

    # File lib/sequel/sql.rb, line 28
28:       def self.const_missing(name)
29:         ::Object.const_get(name)
30:       end

Remove all but the most basic instance methods from the class. A separate method so that it can be called again if necessary if you load libraries after Sequel that add instance methods to Object.

[Source]

    # File lib/sequel/sql.rb, line 14
14:       def self.remove_methods!
15:         ((private_instance_methods + instance_methods) - KEEP_METHODS).each{|m| undef_method(m)}
16:       end

No-op method on ruby 1.9, which has a real BasicObject class.

[Source]

    # File lib/sequel/sql.rb, line 33
33:       def self.remove_methods!
34:       end

[Validate]