Module: Sequel::Metaprogramming

Included in:
Database, Database, Dataset, Dataset, Model, Model
Defined in:
lib/sequel/metaprogramming.rb

Overview

Contains meta_def method for adding methods to objects via blocks, used by some of Sequel’s classes and objects.

Instance Method Summary collapse

Instance Method Details

#meta_def(name, &block) ⇒ Object

Define a method with the given name and block body on the receiver.

ds = DB[:items]
ds.meta_def(:x){42}
ds.x # => 42


9
10
11
# File 'lib/sequel/metaprogramming.rb', line 9

def meta_def(name, &block)
  (class << self; self end).send(:define_method, name, &block)
end