Hey mate, I won’t fight for having this method private :), but just a couple of thoughts about your answer.

1)  The fact that the method is in the prototype doesn’t mean that it should be public. 
The developer decides if this is public or private. This is a way to warn other developers to not use that method because it could change or disappear.

2) And I don’t buy the idea of ‘may in the future’ other component has an init method, because as of today the only place where this method is called is in the constructor. The less you expose the better.

--
Pablo Manrubia
pmanrubia@gmail.com



On 15/05/2014, at 14:48, Ben Barnett <notifications@github.com> wrote:

> In js/components/Toggler.js:
> 
> > +
> > +    return this;
> > +  }
> > +
> > +  /**
> > +   * Inherit from base module, for shared methods and interface
> > +   * @type {[type]}
> > +   * @private
> > +   */
> > +  TogglerProto = Toggler.prototype = new MASModule();
> > +
> > +  /**
> > +   * Init function
> > +   * @return {Toggler}
> > +   */
> > +  TogglerProto.init = function () {
> Nah, it's on the prototype and therefore public. Some components may not be 'self initialising' either, which means you'd need this exposed.
> 
> —
> Reply to this email directly or view it on GitHub.
>