(b) The “Name” in Namespace implies ownership.
Never use a name for a (or begins a) toplevel namespace (module or class identifier) that belongs to some other entity, company or person, (ie, a trademark, salesmark, copyright, or brandname, etc. that you do not have permission to use.)
In the SketchUp Ruby API world, Sketchup
, SketchUp
, Layout
,… or any case combination of, and compound name beginning with these, belong to the owner of the SketchUp application. (Currently add Trimble
or any name beginning with this. ADD: List of current Trimble trademarks.)
For example most of the API classes are defined within a toplevel Sketchup
module namespace.
But there are also some miscellaneous API class names that are compound names that begin with Sketchup
, such as SketchupExtension
. You should expect that there are others, and that any others could be created by the API team, anytime. (Sometimes they are unpublished classes for internal testing use only.)
Normally, you’d pick a unique toplevel module name either your company name or something unique based on your personal name, nickname etc.
But when writing examples that would be wrapped in an author’s namespace, I often just use the toplevel module name Author
which implies that it should be changed to the author’s actual module name if they add to it, use it as a template, etc.
Any specific plugins would be created inside this toplevel module, in their own sub-module. Any custom classes specific to a certain plugin is defined within that plugin’s sub-module.
Any shared custom classes or library modules are created within the author’s toplevel module, but outside any specific plugin sub-module.
Your examples could do this, or use the module name Student
.
Specific examples could be wrapped within sub-modules or classes, whose names correspond with example types.