quite huge refactoring
[pxelator] / lib / PXElator / server.pm
index 02ea204..be053cf 100644 (file)
@@ -3,8 +3,6 @@ package server;
 use warnings;
 use strict;
 
-use Module::Refresh qw//;
-sub refresh { Module::Refresh->refresh };
 
 our $ip      = '172.16.10.1';
 our $netmask = '255.255.255.0';
@@ -13,10 +11,23 @@ our ( $ip_from, $ip_to ) = ( 10, 100 );
 
 our $base_dir = '/srv/pxelator';
 
-use config;
+use Module::Refresh qw//;
+sub refresh { Module::Refresh->refresh };
+
+use File::Slurp;
+sub shared {
+       my ($name, $value) = @_;
+
+       my $path ="$base_dir/conf/$server::ip/$name";
+       if ( defined $value ) {
+               write_file $path, $value;
+       } else {
+               $value = read_file $path if -e $path;
+       }
+       return $value;
+}
 
-our $debug;
-sub debug { $debug = config::shared('debug', @_) || 0 }
+sub debug { shared('debug', @_) || 0 }
 
 warn "loaded";