unfucked get_file
Devin Austin [Thu, 28 May 2009 08:26:39 +0000 (08:26 +0000)]
lib/Catalyst/Helper.pm

index 508e778..4dd40ef 100644 (file)
@@ -37,11 +37,22 @@ sub get_sharedir_file {
 }
 
 sub get_file {
-    my ( $self, $file ) = @_;
-   
-    return $self->get_sharedir_file($file);
+    my ( $self, $class, $file ) = @_;
+    unless ( $cache{$class} ) {
+        local $/;
+        $cache{$class} = eval "package $class; <DATA>";
+    }
+    my $data = $cache{$class};
+    my @files = split /^__(.+)__\r?\n/m, $data;
+    shift @files;
+    while (@files) {
+        my ( $name, $content ) = splice @files, 0, 2;
+        return $content if $name eq $file;
+    }
+    return 0;
 }
 
+
 sub mk_app {
     my ( $self, $name ) = @_;