Sha256: 867508c200360667a5203ae7c0aa20d174ee63d32d1f0c157965df08ab8c0d93
Contents?: true
Size: 734 Bytes
Versions: 3
Compression:
Stored size: 734 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 def meta_undef name meta_eval { remove_method name } end # Defines an instance method within a class def class_def name, &blk class_eval { define_method name, &blk } end def run_in_context(context=self, &block) name="temp_#{self.class}_#{respond_to?(:parent) ? parent.to_s : Time.now.to_i}".to_sym meta_def name, &block self.send name, context # self.instance_eval &block if block meta_undef name rescue "" end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
auser-skelerl-0.0.2 | lib/skelerl/core/object.rb |
auser-skelerl-0.0.3 | lib/skelerl/core/object.rb |
auser-skelerl-0.0.4 | lib/skelerl/core/object.rb |