Updates documentation for render argument and data namespaces.
Updates tests related to render argument and data namespaces.
Updates definitions of render argument and data namespaces across the tests.
-
Required for the advancement of #100.
From a dynamic typing perspective, both the current and new APIs are equally good but the current will not work with static typing.
The new API happens to have a couple minor downsides though:
If a RenderArgs(render_cls) is created before an argument namespace class is associated with render_cls, that RenderArgs instance will lack a namespace for render_cls, unlike those created afterwards.
If render_cls is subclassed before an argument namespace class is associated with render_cls, every RenderArgs instance associated with that subclass will lack a namespace for render_cls.
The same applies to render data... but looking on the bright side, this typically shouldn't occur and there's an admonition in the docs concerning this.
Fixes render argument/data namespace class names.
Redesigns namespaces classes.
Delegates association of namespace classes to their metaclasses instead of
RenderableMeta
.Simplifies the collection of render argument/data namespaces of parent render classes in
RenderableMeta
.Drops the use of inner class definitions.
Renderable._Data_
->RenderableData
.RenderArgs.Namespace
->ArgsNamespace
.RenderData.Namespace
->DataNamespace
.In
.renderable._types
:RenderArgsData._NamespaceMeta
->ArgsDataNamespaceMeta
.RenderArgsData.Namespace
->ArgsDataNamespace
.RenderArgs._NamespaceMeta
->ArgsNamespaceMeta
.Adds
.renderable._types.DataNamespaceMeta
.Updates documentation for render argument and data namespaces.
Updates tests related to render argument and data namespaces.
Updates definitions of render argument and data namespaces across the tests.
Required for the advancement of #100.
From a dynamic typing perspective, both the current and new APIs are equally good but the current will not work with static typing.
The new API happens to have a couple minor downsides though:
RenderArgs(render_cls)
is created before an argument namespace class is associated withrender_cls
, thatRenderArgs
instance will lack a namespace forrender_cls
, unlike those created afterwards.render_cls
is subclassed before an argument namespace class is associated withrender_cls
, everyRenderArgs
instance associated with that subclass will lack a namespace forrender_cls
.The same applies to render data... but looking on the bright side, this typically shouldn't occur and there's an admonition in the docs concerning this.