Changeset 4227 for lang/perl/Config-Pit
- Timestamp:
- 01/08/08 22:13:14 (5 years ago)
- Files:
-
- 1 modified
-
lang/perl/Config-Pit/trunk/lib/Config/Pit.pm (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Config-Pit/trunk/lib/Config/Pit.pm
r4226 r4227 9 9 *pit_get = \&get; 10 10 11 use YAML:: XS;11 use YAML::Syck; 12 12 use Path::Class; 13 13 use File::HomeDir; … … 24 24 my ($name, %opts) = @_; 25 25 my $profile = _load(); 26 $YAML::Syck::ImplicitTyping = 1; 27 $YAML::Syck::SingleQuote = 1; 26 28 27 29 if ($opts{require}) { … … 38 40 my ($name, %opts) = @_; 39 41 my $result = {}; 42 $YAML::Syck::ImplicitTyping = 1; 43 $YAML::Syck::SingleQuote = 1; 40 44 41 45 if ($opts{data}) { … … 46 50 # system 47 51 my $f = File::Temp->new(SUFFIX => ".yaml"); 48 print $f YAML:: XS::Dump($setting);52 print $f YAML::Syck::Dump($setting); 49 53 close $f; 50 54 my $t = file($f->filename)->stat->mtime; … … 54 58 $result = get($name); 55 59 } else { 56 $result = set($name, data => YAML:: XS::LoadFile($f->filename));60 $result = set($name, data => YAML::Syck::LoadFile($f->filename)); 57 61 } 58 62 } 59 63 my $profile = _load(); 60 64 $profile->{$name} = $result; 61 YAML:: XS::DumpFile($profile_file, $profile);65 YAML::Syck::DumpFile($profile_file, $profile); 62 66 return $result; 63 67 } … … 65 69 sub switch { 66 70 my ($name, %opts) = @_; 71 $YAML::Syck::ImplicitTyping = 1; 72 $YAML::Syck::SingleQuote = 1; 67 73 68 74 $profile_file = File::Spec->catfile($directory, "$name.yaml"); … … 70 76 my $config = _config(); 71 77 $config->{profile} = $name; 72 YAML:: XS::DumpFile($config_file, $config);78 YAML::Syck::DumpFile($config_file, $config); 73 79 } 74 80 … … 76 82 sub _load { 77 83 my $config = _config(); 84 $YAML::Syck::ImplicitTyping = 1; 85 $YAML::Syck::SingleQuote = 1; 78 86 79 87 switch($config->{profile}); 80 88 81 89 unless (-e $profile_file) { 82 YAML:: XS::DumpFile($profile_file, {});90 YAML::Syck::DumpFile($profile_file, {}); 83 91 } 84 return YAML:: XS::LoadFile($profile_file);92 return YAML::Syck::LoadFile($profile_file); 85 93 } 86 94 87 95 sub _config { 96 $YAML::Syck::ImplicitTyping = 1; 97 $YAML::Syck::SingleQuote = 1; 88 98 89 99 (-e $directory) || $directory->mkpath(0, 0700); 90 100 91 my $config = eval { YAML:: XS::LoadFile($config_file) } || ({101 my $config = eval { YAML::Syck::LoadFile($config_file) } || ({ 92 102 profile => "default" 93 103 });
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)