<!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&nbsp;provides a standard approach for expressing&nbsp;the interesting 
metadata for a directive: version, description, optional category.&nbsp; 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>&nbsp;</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.&nbsp; Maybe example (and even description) are better done by a 
sibling class, located by convention&nbsp;using &nbsp;name derived from that 
of&nbsp;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>&nbsp;</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>&nbsp;</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.&nbsp; (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>&nbsp;</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.&nbsp; Someone assembling a library of addons could then&nbsp;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>&nbsp;</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.&nbsp; 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>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=817470716-18072006><FONT face=Arial 
color=#0000ff size=2>Believe we'll also&nbsp;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>&nbsp;</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>&nbsp; class 
MetaInfo<BR>&nbsp;&nbsp;&nbsp;&nbsp; def 
description<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
...<BR>&nbsp;&nbsp;&nbsp;&nbsp; end<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp; def 
example<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
end<BR><BR>&nbsp; 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>