SRevie...e::Talk(3pm)
๐ NAME ๐
okay so this is SReview::Schedule::Base::Talk, from the User Contributed Perl Documentation crew โ it's giving class-that-holds-a-talk energy, bestie, and that's literally the whole job description. ๐
๐ธ DESCRIPTION ๐ธ
A class to hold a talk. that's it. that's the whole vibe. it's a lil container for everything a talk is โ its name, its time, its room, its people โ and all the pieces are loaded lazily with _load_* methods you can override if the defaults aren't it. ๐ซถ
โจ ATTRIBUTES โจ
event_objectโ theSReview::Schedule::Base::Event(or a subclass of it) object that this talk is attached to. it's required at construction time, no exceptions, and it's a weak reference so nobody's holding each other in a death grip. ๐roomโ the room object that goes with this talk.
the default _load_room is lowkey simple: it calls /event_object->root_object->room_type to grab the room type, then makes a brand new object of that type with the event_object parameter set to the value of /event_object. boom. room acquired. โจ
slugโ the slug, aka the name rewritten into a syntax that doesn't make a URL look fugly. ๐ญ
the default _load_slug takes the first 40 characters of whatever Mojo::Util::slugify spits out when you run it on the title attribute. clean, short, URL-friendly, iconic.
starttimeโ when the talk is scheduled to start, as aDateTime.
the default _load_starttime just returns the current time, which is, and I cannot stress this enough, probably wrong. ๐ override it, bestie.
endtimeโ when the talk is scheduled to end, as aDateTime.
the default _load_endtime takes starttime and adds the value of length. so if a schedule parser's format gives you a start time and a length but no end time, you only have to write a method for the length and let this default do the math for the end time. slay, honestly. ๐งฎ
lengthโ how long the talk is, as aDateTime::Duration. not required if you're supplying a non-default_load_endtime, but it defaults to one hour regardless. one hour. always. even if you didn't ask. ๐titleโ the title of the talk.
the default _load_title returns the empty string. this is almost certainly incorrect. like, bestie, please set your title. ๐
upstreamidโ a unique, unchanging ID that the schedule uses for this talk. if you don't set it, it falls back to the value ofslugโ but heads up,slugis not guaranteed to be unchanging. ideally you want something more stable. fr fr.subtitleโ the subtitle of the talk. that's the lil extra line under the main character title. โจtrackโ returns a track object of the type set intrack_typein SReview::Schedule::Base::Event, for the track this talk belongs to. ๐descriptionโ a longer description of the talk. optional, no pressure, but it's giving details. ๐ธflagsโ a hash ref of the default flags to set on the talk. ๐ฉspeakersโ returns an array of SReview::Schedule::Base::Speaker (or subclass) objects representing the speakers of the talk. the whole squad. ๐ซถfilteredโ boolean. if it's true, the talk won't be added to the schedule. and if the talk is already on the schedule and it's still in thewaiting_for_filesstate, it gets moved to theignoredstate instead. quietly benched. ๐extra_dataโ any extra data you wanna store with the talk. you can use it later in credits slides or other templates, as required. your data, your rules. ๐
๐ reminder bestie: those_load_*defaults are defaults, not destiny. override them if the vibes are off โ especially_load_starttimeand_load_title, which are, respectfully, chaos. ๐ญ
and that's the whole page, bestie!! ๐ฆ this gorgeous lil doc came to you as perl v5.40.1, dated 2026-02-15 โ so if you're reading this in the future, hi, ily, hope your talks all have real titles now. ๐โจ๐
๐ฆ where this page comes from
- ubuntu resolute: sreview-common 0.12.0-1
- ubuntu stonking: sreview-common 0.12.0-1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms