X-Git-Url: http://git.freeside.biz/gitweb/?p=Business-CreditCard.git;a=blobdiff_plain;f=CreditCard.pm;h=4fdcebd9eb57da4188cbe72023d7703636cdc349;hp=4fe901e985648e41bec9c53fc9cd8ad0d676fd53;hb=9f1094ef367a5d66dd87c114f73d8c4e5f8c3e08;hpb=a8d298ec8047f312a2650fc215edcd68875cb92a diff --git a/CreditCard.pm b/CreditCard.pm index 4fe901e..4fdcebd 100644 --- a/CreditCard.pm +++ b/CreditCard.pm @@ -132,7 +132,7 @@ types. Lee also contributed a working test.pl. Alexandr Ciornii Copyright (C) 1995,1996,1997 Jon Orwant Copyright (C) 2001-2006 Ivan Kohler -Copyright (C) 2007-2013 Freeside Internet Services, Inc. +Copyright (C) 2007-2014 Freeside Internet Services, Inc. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, @@ -174,6 +174,9 @@ providing credit card number verification (LUHN checking). ## a lot more than just 6011*, they don't handle processing agreements, etc. sub cardtype { + # Allow use as a class method + shift if UNIVERSAL::isa( $_[0], 'Business::CreditCard' ); + my ($number) = @_; $number =~ s/[\s\-]//go; @@ -242,6 +245,9 @@ sub cardtype { } sub generate_last_digit { + # Allow use as a class method + shift if UNIVERSAL::isa( $_[0], 'Business::CreditCard' ); + my ($number) = @_; die "invalid operation" if length($number) == 8 || length($number) == 9; @@ -274,6 +280,9 @@ sub generate_last_digit { # $type = '' if $ccn % 10; # return $type; sub validate { + # Allow use as a class method + shift if UNIVERSAL::isa( $_[0], 'Business::CreditCard' ); + my ($number) = @_; my ($i, $sum, $weight);