--- /dev/null
+package config;
+
+use warnings;
+use strict;
+
+use server;
+use File::Slurp;
+
+sub shared {
+ my ($name, $value) = @_;
+
+ my $path ="$server::base_dir/conf/$server::ip/$name";
+ if ( defined $value ) {
+ write_file $path, $value;
+ } else {
+ $value = read_file $path if -e $path;
+ }
+ return $value;
+}
+
+1;
use warnings;
use strict;
-use File::Slurp;
our $ip = '172.16.10.1';
our $netmask = '255.255.255.0';
our $base_dir = '/home/dpavlin/llin/pxelator';
+use config;
+
our $debug = 0;
-sub debug {
- my $new = shift;
- my $path ="$base_dir/conf/debug";
- if ( defined $new ) {
- write_file $path, $debug = $new;
- } else {
- $debug = read_file $path if -e $path;
- }
- return $debug;
-}
+sub debug { $debug = config::shared('debug', @_) }
warn "loaded";
--- /dev/null
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+use autodie;
+
+use Test::More tests => 3;
+use Data::Dump qw/dump/;
+
+use_ok 'config';
+
+ok( my $test = config::shared( 'test', 42 ), 'set shared' );
+diag $test;
+cmp_ok( $test, '==', config::shared( 'test' ), 'get shared' );
+