Sha256: 9697cf8d46829a80ec63bb049e4ab09529fecaa3379f511970558cdaedfe3f80

Contents?: true

Size: 425 Bytes

Versions: 33

Compression:

Stored size: 425 Bytes

Contents

module Sequel
  # Contains meta_def method for adding methods to objects via blocks, used by some of Sequel's classes and objects.
  module Metaprogramming
    # Define a method with the given name and block body on the receiver.
    #
    #   ds = DB[:items]
    #   ds.meta_def(:x){42}
    #   ds.x # => 42
    def meta_def(name, &block)
      (class << self; self end).send(:define_method, name, &block)
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
sequel-3.42.0 lib/sequel/metaprogramming.rb
sequel-3.41.0 lib/sequel/metaprogramming.rb
sequel-3.40.0 lib/sequel/metaprogramming.rb
sequel-3.39.0 lib/sequel/metaprogramming.rb
sequel-3.38.0 lib/sequel/metaprogramming.rb
sequel-3.37.0 lib/sequel/metaprogramming.rb
sequel-3.36.1 lib/sequel/metaprogramming.rb
sequel-3.36.0 lib/sequel/metaprogramming.rb
sequel-3.35.0 lib/sequel/metaprogramming.rb
sequel-3.34.1 lib/sequel/metaprogramming.rb
sequel-3.34.0 lib/sequel/metaprogramming.rb
sequel-3.33.0 lib/sequel/metaprogramming.rb
sequel-3.32.0 lib/sequel/metaprogramming.rb
sequel-3.31.0 lib/sequel/metaprogramming.rb
sequel-3.30.0 lib/sequel/metaprogramming.rb
sequel-3.29.0 lib/sequel/metaprogramming.rb
sequel-3.28.0 lib/sequel/metaprogramming.rb
sequel-3.27.0 lib/sequel/metaprogramming.rb
sequel-3.26.0 lib/sequel/metaprogramming.rb
sequel-3.25.0 lib/sequel/metaprogramming.rb