<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2912" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2>Jeff - I like the notion of having a standard DirectiveInfo
meta-info class to associate with a directive implementation,
which provides a standard approach for expressing the interesting
metadata for a directive: version, description, optional category. As you
say, that then gives us a clean way to drive other interesting tools (admin
views of loaded directives, doc generation, etc)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2>Not sure if I like having the example bundled into the core
runtime class. Maybe example (and even description) are better done by a
sibling class, located by convention using name derived from that
of the ModName::DirectiveClass, e.g. ModName::DirectiveClassDoc to contain
supporting doc specifications?</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2>Similar to scheme for packaging and locating test cases -
my_directive.rb + my_directive.rb pair of files.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2>Also include optional attribute_name in there, so that our
implementation of the standard class method attr_name on DirectiveBase can check
for override before dropping into default_attr_name backstop. (Or maybe
that just all migrates into DirectiveInfo as method #attr_name or
#attribute_name; I prefer the longer form, actually)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN><SPAN class=817470716-18072006><FONT
face=Arial color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2>I'd also like a namespace attribute in there to provide the
foundation for supporting multiple namespaces: #namespace_name. That would then
be exploited by our standard methods for forming fully-qualified attribute
names. Someone assembling a library of addons could then subclass
DirectiveInfo to install their own std namespace value and then use
MyCustomDirectiveLibraryDirectiveIinfo in their directives.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2>So directive protocol proposal: #directive_name returns the
fully-qualified name of the directive's attribute; #attribute_name returns the
simple attribute name, #namespace_name returns the namespace prefix
qualifier. Maybe deprecate the original #full_attr_name currently in
DirectiveBase, would like to use method names that directly reflect XML
namespace terminology for qnames.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2>Believe we'll also also need an override mechanism for
namespaces in the MV config options, just as xmlns markup allows the usage site
to override the creator's namespace in order to resolve namespace collisions in
their documents, but that would build on top of the basic
facility.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial
color=#0000ff size=2>~ Deb</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Jeff Barczewski
[mailto:jeff.barczewski@gmail.com] <BR><B>Sent:</B> Monday, July 17, 2006 7:12
AM<BR><B>To:</B> masterview-devel@rubyforge.org;
djlewis@acm.org<BR><B>Subject:</B> Another idea for the single file format for
directives<BR></FONT><BR></DIV>
<DIV></DIV>We could use an inner class to hold the description and
examples<BR><BR>class MyDirective<BR> class
MetaInfo<BR> def
description<BR>
...<BR> end<BR><BR> def
example<BR> ...<BR>
end<BR><BR> end <BR>end<BR><BR>or even simply a Map to hold the
pieces.<BR><BR>Just other ideas to add to the list. <BR></BODY></HTML>