in reply to Balancing Concerns in Upgrading Net::FTP::Common
Accessors: I'd suggest using Class::Struct, although any of the three class-builders would do. The lvalue methods are neat, but I wouldn't depend on them.
Strict Hash Slots: This is trivial if you're using accessor methods -- replace your constructor behavior with something like the below, and any unsupported arguments will result in a "no such method" error:
my $self = bless {}, $class; while ( my($method, $value) = splice @_, 0, 2 ) { $self->$method( $value ); } return $self;
API Delegation: While accessing the internal Net::FTP object is a decent solution, I agree with your instinct to add delegation methods that correspond with the most useful bits of the API, or even to build them on demand using autoload.
|
|---|