Sha256: a57d45a49628360887a8c56316382a3cd7af866dfa0429935e7310a2115607dd

Contents?: true

Size: 480 Bytes

Versions: 7

Compression:

Stored size: 480 Bytes

Contents

class Object
  # The hidden singleton lurks behind everyone
  def metaclass; class << self; self; end; end
  def meta_eval &blk; metaclass.instance_eval &blk; end

  # Adds methods to a metaclass
  def meta_def name, &blk
    meta_eval { define_method name, &blk }
  end

  # Defines an instance method within a class
  def class_def name, &blk
    class_eval { define_method name, &blk }
  end

  def try( method )
    self.send( method ) if self.respond_to?( method )
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sferik-merb-admin-0.2.8 lib/metaid.rb
sferik-merb-admin-0.3.0 lib/metaid.rb
sferik-merb-admin-0.3.1 lib/metaid.rb
sferik-merb-admin-0.3.2 lib/metaid.rb
sferik-merb-admin-0.3.3 lib/metaid.rb
sferik-merb-admin-0.3.4 lib/metaid.rb
sferik-merb-admin-0.3.6 lib/metaid.rb