Pluginfactory.rb - my door to insanity

Discussion in 'Ruby' started by Tony Mobily, Feb 22, 2006.

  1. Tony Mobily

    Tony Mobily Guest

    Hello,

    As a matter of principle, I am studying the pluginfactory plugin
    (http://raa.ruby-lang.org/project/pluginfactory/).

    At first, I thought the author was insane (in a good way!).

    I am going bananas, trying to understand the pluginfactory.rb module.

    At one point, he defines:

    ### Inheritance callback -- Register subclasses in the
    derivatives hash
    ### so that ::create knows about them.
    def inherited( subclass )

    NOW! You night say "No wait, inherited needs to be a class method,
    not a n instance method.

    Well, the module does this when it's included:

    ### Inclusion callback -- extends the including class.
    def self::included( klass )
    klass.extend( self )
    end

    This means that all of the instance methods defined in the plugin
    become... part of the class!
    This opened in my brain the door to insanity.

    Is this technique used a lot? What I don't like about it, is that the
    instance methods in the module become both instance methods and class
    methods in the includer.
    This could possibly create clutter in the class' methods.


    For what I understand, with include/extend is never, ever possible to
    add class methods to a class using include or extend (of course, you
    can use inheritance, but that would be too "normal").

    Guys, I am in awe.

    Merc.
     
    Tony Mobily, Feb 22, 2006
    #1
    1. Advertising

  2. Tony Mobily

    Gene Tani Guest

    Tony Mobily wrote:
    > Hello,
    >
    > For what I understand, with include/extend is never, ever possible to
    > add class methods to a class using include or extend (of course, you
    > can use inheritance, but that would be too "normal").
    >


    why wrote about mixing in class meths as class meths:

    http://redhanded.hobix.com/bits/hyperextended.html
     
    Gene Tani, Feb 22, 2006
    #2
    1. Advertising

  3. Tony Mobily

    Tony Mobily Guest

    Hi,

    OK. While this is indeed a nice "trick" (in fact, it's really
    smart!), it still looks like a bit of a hack to me.

    Does anybody know if Matz is planning on ad a method to include class
    instance methods into another class without using inheritance?

    In fact... do you think that doing so is actually useful?

    Bye,

    Merc.

    > Tony Mobily wrote:
    >> Hello,
    >> For what I understand, with include/extend is never, ever possible to
    >> add class methods to a class using include or extend (of course, you
    >> can use inheritance, but that would be too "normal").

    > why wrote about mixing in class meths as class meths:
    >
    > http://redhanded.hobix.com/bits/hyperextended.html
    >
     
    Tony Mobily, Feb 23, 2006
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    1
    Views:
    396
    Martin Honnen
    Jun 14, 2006
  2. jkn
    Replies:
    9
    Views:
    9,094
    robin
    Feb 27, 2006
  3. John Doe
    Replies:
    1
    Views:
    133
    Ken Cox [Microsoft MVP]
    Nov 21, 2003
  4. Banzai

    Solaris door Ruby bindings

    Banzai, Jun 16, 2007, in forum: Ruby
    Replies:
    2
    Views:
    94
    Banzai
    Jun 17, 2007
  5. Michael Granger

    [ANN] PluginFactory 1.0.6

    Michael Granger, Mar 23, 2010, in forum: Ruby
    Replies:
    0
    Views:
    121
    Michael Granger
    Mar 23, 2010
Loading...

Share This Page