L-Plugin: Hilfsfunktion is_rdbo($obj) zum Testen ob $obj von einem RDBO ableitet
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 29 Jan 2014 14:34:00 +0000 (15:34 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 24 Feb 2014 13:40:00 +0000 (14:40 +0100)
SL/Template/Plugin/LxERP.pm

index 40bf195..f935a59 100644 (file)
@@ -1,6 +1,7 @@
 package SL::Template::Plugin::LxERP;
 
 use base qw( Template::Plugin );
+use Scalar::Util qw();
 use Template::Plugin;
 
 use List::Util qw(min);
@@ -16,6 +17,16 @@ sub new {
   bless { }, $class;
 }
 
+sub is_rdbo {
+  my ($self, $obj, $wanted_class) = @_;
+
+  $wanted_class = !$wanted_class         ? 'Rose::DB::Object'
+                : $wanted_class =~ m{::} ? $wanted_class
+                :                          "SL::DB::${wanted_class}";
+
+  return Scalar::Util::blessed($obj) ? $obj->isa($wanted_class) : 0;
+}
+
 sub format_amount {
   my ($self, $var, $places, $skip_zero, $dash) = @_;