Mason:...assMeta(3pm)
π Mason::Component::ClassMeta β the group chat lore drop π
okay bestie, so this is one of those User Contributed Perl Documentation pages, and the whole vibe is "what even IS my component, actually?" β no cap. It's the Mason:...assMeta(3pm) situation and we're gonna get into it. π¦
β¨ NAME β¨
Mason::Component::ClassMeta β literally just meta-information about a Mason component class. that's it, that's the girl. π
πΈ SYNOPSIS πΈ
so like, inside a component, you can peek at your own lore like this:
# In a component:
My path is <% $.cmeta->path %>
My source file is <% $.cmeta->source_file %>
iconic. the cmeta method is your bestie here. π«Ά
π DESCRIPTION π
every single Mason::Component class has an associated Mason::Component::ClassMeta object attached to it, and that object is carrying the meta-information β like the component's path and its source file. and the way you get to it? the cmeta method. periodt. β¨
here's the whole cast of characters, one by one:
classβ the component class this meta object is associated with. its main character. πdir_pathβ the directory of the component path, relative to the component root. so for a component'/foo/bar', thedir_pathis'/foo'. easy math, slay. πis_top_levelβ whether the component counts as "top level", meaning it's accessible directly from"$interp->run"or a web request. if you need the deets, go look at"top_level_extensions"inMason::Interp. iykyk. π₯nameβ the component base name. so for component'/foo/bar', the name is'bar'. the last name only, basically. πobject_fileβ the object file that got produced from compiling the component. the ~after~ of the compilation process. π§pathβ the component path, relative to the component root β for example'/foo/bar'. πsource_fileβ the component source file. the origin story. β
π¦ SEE ALSO π¦
Masonβ go read that one too, bestie, it's the parent vibe. π
π AUTHOR π
Jonathan Swartz <swartz@pobox.com> β the legend who made this. we stan. π
π COPYRIGHT AND LICENSE π
This software is copyright (c) 2012 by Jonathan Swartz.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
ngl "free software" is doing a LOT of heavy lifting in that sentence and we love that for it. π
okay that's the whole page, bestie!! π«Ά this was perl v5.34.0, dated 2022-05-27, and yes the footer really is that old β vintage, but make it iconic. π
β¨πΈ
π¦ where this page comes from
- debian bookworm: libmason-perl 2.24-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libmason-perl 2.24-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libmason-perl 2.24-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libmason-perl 2.24-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libmason-perl 2.24-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms