SRevie...e::Talk(3pm)

๐Ÿ“ฆ version 0.12.0, in ubuntu resolute, ubuntu stonking

๐Ÿ’– 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 โ€” the SReview::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 a DateTime.

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 a DateTime.

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 a DateTime::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 of slug โ€” but heads up, slug is 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 in track_type in 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 the waiting_for_files state, it gets moved to the ignored state 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_starttime and _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