Browse Source

Use File::Slurper

Andy Baugh 6 years ago
parent
commit
08ee58d495

+ 5 - 2
Makefile

@@ -22,7 +22,7 @@ install-discord: mkdir
 	cp -f lib/Cpanel/iContact/Provider/Schema/Discord.pm /var/cpanel/perl/Cpanel/iContact/Provider/Schema/Discord.pm
 	cp -f lib/Cpanel/iContact/Provider/Schema/Discord.pm /var/cpanel/perl/Cpanel/iContact/Provider/Schema/Discord.pm
 	cp -f lib/Cpanel/iContact/Provider/Discord.pm /var/cpanel/perl/Cpanel/iContact/Provider/Discord.pm
 	cp -f lib/Cpanel/iContact/Provider/Discord.pm /var/cpanel/perl/Cpanel/iContact/Provider/Discord.pm
 
 
-install-notification-center: mkdir
+install-notification-center: mkdir depend-notification-center
 	cp -f lib/Cpanel/iContact/Provider/Schema/Local.pm /var/cpanel/perl/Cpanel/iContact/Provider/Schema/Local.pm
 	cp -f lib/Cpanel/iContact/Provider/Schema/Local.pm /var/cpanel/perl/Cpanel/iContact/Provider/Schema/Local.pm
 	cp -f lib/Cpanel/iContact/Provider/Local.pm /var/cpanel/perl/Cpanel/iContact/Provider/Local.pm
 	cp -f lib/Cpanel/iContact/Provider/Local.pm /var/cpanel/perl/Cpanel/iContact/Provider/Local.pm
 	cp -f lib/Cpanel/iContact/Provider/Local/Getter.pm /var/cpanel/perl/Cpanel/iContact/Provider/Local/Getter.pm
 	cp -f lib/Cpanel/iContact/Provider/Local/Getter.pm /var/cpanel/perl/Cpanel/iContact/Provider/Local/Getter.pm
@@ -62,7 +62,10 @@ depend-irc:
 depend-xmpp:
 depend-xmpp:
 	perl -MNet::XMPP -MMozilla::CA -e 'exit 0;' || sudo cpan -i Net::XMPP Mozilla::CA
 	perl -MNet::XMPP -MMozilla::CA -e 'exit 0;' || sudo cpan -i Net::XMPP Mozilla::CA
 
 
-depend-all: depend-xmpp depend-irc
+depend-notification-center:
+	perl -MFile::Slurper -e 'exit 0;' || sudo cpan -i File::Slurper
+
+depend-all: depend-xmpp depend-irc depend-notification-center
 
 
 depend-test:
 depend-test:
 	perl -MTest::More -MTest::Fatal -MTest::MockModule -MFile::Temp -MConfig::Simple -MHTTP::Tiny::UA -MHTTP::Tiny::UA::Response -e 'exit 0;' || sudo cpan -i Test::More Test::Fatal Test::MockModule Config::Simple HTTP::Tiny::UA HTTP::Tiny::UA::Response File::Temp
 	perl -MTest::More -MTest::Fatal -MTest::MockModule -MFile::Temp -MConfig::Simple -MHTTP::Tiny::UA -MHTTP::Tiny::UA::Response -e 'exit 0;' || sudo cpan -i Test::More Test::Fatal Test::MockModule Config::Simple HTTP::Tiny::UA HTTP::Tiny::UA::Response File::Temp

+ 2 - 3
lib/Cpanel/iContact/Provider/Local.pm

@@ -85,9 +85,8 @@ sub send {
             }
             }
         }
         }
 	    require Cpanel::AdminBin::Serializer;
 	    require Cpanel::AdminBin::Serializer;
-        open( my $fh, ">", $file ) || die "Couldn't open '$file': $!";
-        print $fh Cpanel::AdminBin::Serializer::Dump( { 'subject' => $subject, 'text' => $text, 'html' => $html } );
-        close $fh;
+        require File::Slurper;
+        File::Slurper::write_binary( $file, Cpanel::AdminBin::Serializer::Dump( { 'subject' => $subject, 'text' => $text, 'html' => $html } ) );
     }
     }
     catch {
     catch {
         require Cpanel::Exception;
         require Cpanel::Exception;

+ 2 - 2
lib/Cpanel/iContact/Provider/Local/Getter.pm

@@ -6,6 +6,7 @@ use warnings;
 # Specifically for the constant that is the dir
 # Specifically for the constant that is the dir
 use Cpanel::iContact::Provider::Local ();
 use Cpanel::iContact::Provider::Local ();
 use Cpanel::AdminBin::Serializer      ();
 use Cpanel::AdminBin::Serializer      ();
+use File::Slurper                     ();
 
 
 =encoding utf-8
 =encoding utf-8
 
 
@@ -91,8 +92,7 @@ sub get_notice {
 	my ( $time, %opts ) = @_;
 	my ( $time, %opts ) = @_;
 	local $/;
 	local $/;
 	my $file = $Cpanel::iContact::Provider::Local::DIR . "/$opts{'user'}/$time.json";
 	my $file = $Cpanel::iContact::Provider::Local::DIR . "/$opts{'user'}/$time.json";
-	open my $fh, '<', $file or die "can't open $file: $!";
-    return Cpanel::AdminBin::Serializer::Load(<$fh>);
+    return Cpanel::AdminBin::Serializer::Load(File::Slurper::read_binary($file));
 }
 }
 
 
 =head2 get_all_notices
 =head2 get_all_notices