Sha256: 2a4778308ad127c0e791f8a973c0d46c1a935b78a384c87cedea83b64f3f772c

Contents?: true

Size: 399 Bytes

Versions: 13

Compression:

Stored size: 399 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
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
ar-enums-2.0.2 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-2.0.1 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-2.0.0 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-1.0.0 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-0.3.9 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-0.3.8 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-0.3.7 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-0.3.6 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-0.3.5 lib/ar_enums/metaprogramming_extensions.rb
ar-enums-0.3.4 lib/metaprogramming_extensions.rb
ar-enums-0.3.3 lib/metaprogramming_extensions.rb
ar-enums-0.3.2 lib/metaprogramming_extensions.rb
ar-enums-0.3.1 lib/metaprogramming_extensions.rb