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

const_missing remove_methods! remove_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

const_missing(name)

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_methods!()

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

remove_methods!()

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]