Changeset 4214 for lang/perl/Config-Pit
- Timestamp:
- 01/08/08 17:29:38 (5 years ago)
- Location:
- lang/perl/Config-Pit/trunk
- Files:
-
- 2 modified
-
bin/ppit (modified) (2 diffs)
-
lib/Config/Pit.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Config-Pit/trunk/bin/ppit
r4212 r4214 20 20 }, 21 21 set => sub { 22 return unless $ENV{EDITOR};23 22 my $name = shift; 24 my $data = Config::Pit::get($name); 25 26 my $fh = File::Temp->new(SUFFIX => ".yaml"); 27 print $fh YAML::Dump($data); 28 close $fh; 29 system $ENV{EDITOR}, $fh->filename; 30 $data = YAML::LoadFile($fh->filename); 31 32 Config::Pit::set($name, data => $data); 23 Config::Pit::set($name); 33 24 }, 34 25 switch => sub { … … 51 42 set <name> => Config values of name with $EDITOR. 52 43 switch <profile> => Switch profile to <profile>. 53 help => show this manual44 help => show this manual 54 45 55 46 =head1 DESCRIPTION -
lang/perl/Config-Pit/trunk/lib/Config/Pit.pm
r4208 r4214 23 23 # merge 24 24 my %t = (%{$opts{require}}, %{$profile->{$name}}); 25 # system 26 my $f = File::Temp->new(SUFFIX => ".yaml"); 27 print $f YAML::Dump(\%t); 28 close $f; 29 my $t = file($f->filename)->stat->mtime; 30 system $ENV{EDITOR}, $f->filename; 31 if ($t == file($f->filename)->stat->mtime) { 32 warn "No changes."; 33 } else { 34 $profile->{name} = set($name, data => YAML::LoadFile($f->filename)); 35 } 25 $profile->{$name} = set($name, config => \%t); 36 26 } 37 27 } … … 41 31 sub set { 42 32 my ($name, %opts) = @_; 43 my $result = $opts{data} || {}; 33 my $result = {}; 34 if ($opts{data}) { 35 $result = $opts{data}; 36 } else { 37 return {} unless $ENV{EDITOR}; 38 my $setting = $opts{config} || get($name); 39 # system 40 my $f = File::Temp->new(SUFFIX => ".yaml"); 41 print $f YAML::Dump($setting); 42 close $f; 43 my $t = file($f->filename)->stat->mtime; 44 system $ENV{EDITOR}, $f->filename; 45 if ($t == file($f->filename)->stat->mtime) { 46 warn "No changes."; 47 } else { 48 $result = set($name, data => YAML::LoadFile($f->filename)); 49 } 50 } 44 51 my $profile = _load(); 45 52 $profile->{$name} = $result;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)