SMS::S...:Driver(3pm)
๐ SMS::Send::Driver โ the 3pm page, but make it cute ๐
okay bestie, welcome to the SMS::Send::Driver manual page โจ this is a Perl module, it lives in the 3pm section, and it's filed under User Contributed Perl Documentation ๐ so you know it's the real deal. sit down, grab a strawberry ๐, and let's get into it.
๐ธ NAME ๐ธ
SMS::Send::Driver โ the base class for SMS::Send drivers, periodt ๐
๐ฆ DESCRIPTION ๐ฆ
so the tea is this: SMS::Send::Driver is an abstract base class for all the SMS::Send driver classes. every single one. it's giving founding mother ๐
right now, at this time, it does not provide any implementation code for drivers โ like, none โ although lowkey this may change in the future ๐. the one exception is a couple of methods it hands you specifically to trigger "does not implement method" errors. so if you forgot to write something, it will let you know, and it will not be subtle ๐ญ
but here's the thing โ it still absolutely serves a purpose: it's the thing you should sub-class your driver from, so the universe can tell your driver is a SMS::Send driver. it's the little name tag at the party ๐ท๏ธ
โ ๏ธ super important, no cap: if your driver class does not return true for $driver->isa('SMS::Send::Driver'), then the SMS::Send constructor will straight up refuse to use your class as a driver. it will not negotiate. it will not hear you out. it's giving bouncer at the club ๐ซ๐
โจ METHODS โจ
๐ new
the new constructor is required to be implemented by your driver subclass. no new, no vibes, no driver ๐ซถ
it receives a set of arbitrary paired params. the values of these params are assumed to be driver-specific (and yes, this is expected to change ๐ฎ).
if your driver needs to login to some system, locate hardware, or do some other form of initialisation to validate that the SMS delivery mechanism actually exists โ it should do that in new. that's the moment. that's the vibe check ๐
it should return a new SMS::Send::Driver-subclass object, or die on error ๐
๐ send_sms
the send_sms method is also required to be implemented by your driver subclass. yes bestie, both of them. it's a package deal ๐
it receives a set of param pairs as documented in SMS::Send.
and here's the return value lore, listen closely because it's specific ๐:
- return true for either success or fire-and-forget with unknown result ๐ฅ
- return defined-but-false (
''or0) for a failed message send ๐ญ - or die on a fatal error ๐
that's the whole contract. memorise it. iykyk โจ
๐ซถ SUPPORT ๐ซถ
bugs should be reported via the CPAN bug tracker at
<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SMS-Send>
for other issues, contact the author. they're nice, promise ๐ธ
๐ AUTHOR ๐
Adam Kennedy <adamk@cpan.org>
iconic. legendary. ate. ๐
๐ COPYRIGHT ๐
Copyright 2005 - 2011 Adam Kennedy.
this program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
the full text of the license can be found in the LICENSE file included with this module ๐
okay that's the whole page, you're basically a SMS::Send driver dev now, no cap ๐ง๐
and for the sign-off โ this was generated by perl v5.36.0 on 2023-08-18, from the SMS::S...:Driver(3pm) page itself. slay, bye bestie ๐โญ๐
๐ฆ where this page comes from
- debian trixie: libsms-send-perl 1.07-1 ยท Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libsms-send-perl 1.07-1 ยท Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libsms-send-perl 1.07-1 ยท Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libsms-send-perl 1.07-1 ยท 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