Sha256: 2641bce3e241fc934e767ef3e1504381bd237c058309478bcf02ef8413c9cf7b

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

= defined

Calls <tt>Module#defined</tt> after a class or module has been defined or redefined


== Installation

  gem install defined


== Usage

  class User
    def self.defined(file, line, method)
      puts "  defined by #{file}:#{line} with #{method}"
    end

    puts 'in original class definition'
  end

  User.class_eval do
    puts 'in class_eval'
  end

  class User
    puts 'in class definition again'
  end

  Class.new(User) do
    puts 'in Class.new'
  end

=== Outputs

  in original class definition
    defined by /tmp/untitled.rb:1 with class
  in class_eval
    defined by /tmp/untitled.rb:9 with class_eval
  in class definition again
    defined by /tmp/untitled.rb:13 with class
  in Class.new
    defined by /tmp/untitled.rb:17 with initialize

==== Note the <tt>method</tt> in the last example is <tt>initialize</tt> NOT <tt>new</tt>


== Patches and pull requests

* Fork the project.
* Make your feature addition or bug fix.
* Add tests for it. This is important so I don't break it in a future version unintentionally.
* Commit, do not mess with Rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
defined-0.0.1 README.rdoc
defined-0.0.0 README.rdoc