Skip to content

Commit

Permalink
Adding creating a configuration file if it did not exist before.
Browse files Browse the repository at this point in the history
  • Loading branch information
H0pex committed Jun 20, 2023
1 parent 3a310c1 commit 6ef91c4
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 37 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,36 +6,36 @@ Implements reading and modification of configuration files such as INI, ENV.

#### .NET CLI
```CLI
> dotnet add package Hopex.MultiConfX --version 23.0.1
> dotnet add package Hopex.MultiConfX --version 23.0.2
```

#### Package Manager
```CLI
PM> NuGet\Install-Package Hopex.MultiConfX -Version 23.0.1
PM> NuGet\Install-Package Hopex.MultiConfX -Version 23.0.2
```

#### PackageReference
```XML
<PackageReference Include="Hopex.MultiConfX" Version="23.0.1" />
<PackageReference Include="Hopex.MultiConfX" Version="23.0.2" />
```

#### Paket CLI
```CLI
> paket add Hopex.MultiConfX --version 23.0.1
> paket add Hopex.MultiConfX --version 23.0.2
```

#### Script & Interactive
```CLI
> #r "nuget: Hopex.MultiConfX, 23.0.1"
> #r "nuget: Hopex.MultiConfX, 23.0.2"
```

#### Cake
```
// Install Hopex.MultiConfX as a Cake Addin
#addin nuget:?package=Hopex.MultiConfX&version=23.0.1
#addin nuget:?package=Hopex.MultiConfX&version=23.0.2
// Install Hopex.MultiConfX as a Cake Tool
#tool nuget:?package=Hopex.MultiConfX&version=23.0.1
#tool nuget:?package=Hopex.MultiConfX&version=23.0.2
```

# Opportunities
Expand Down
29 changes: 15 additions & 14 deletions src/MultiConfX/Env/Env.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,25 +119,26 @@ public EnvData Load()
/// <returns><see langword="true"/>, if the data was written to the file without errors.</returns>
public bool Save()
{
if (File.Exists(GetPath()))
if (!File.Exists(path: GetPath()))
File.Create(path: GetPath()).Dispose();

using (StreamWriter streamWriter = new StreamWriter(
path: GetPath(),
append: false
))
{
using (StreamWriter streamWriter = new StreamWriter(GetPath()))
Data.GetKeys().ForEach(action: key =>
{
Data.GetKeys().ForEach(action: key =>
{
var @keyFormatted = LineFormatter.KeyForEnv(key: key);
var @valueFormatted = LineFormatter.Value(value: Data.Keys[keyFormatted]);

streamWriter.WriteLine(
value: $"{keyFormatted}={valueFormatted}"
);
});
}
var @keyFormatted = LineFormatter.KeyForEnv(key: key);
var @valueFormatted = LineFormatter.Value(value: Data.Keys[keyFormatted]);

return true;
streamWriter.WriteLine(
value: $"{keyFormatted}={valueFormatted}"
);
});
}

return false;
return true;
}

/// <summary>
Expand Down
29 changes: 15 additions & 14 deletions src/MultiConfX/Ini/Ini.cs
Original file line number Diff line number Diff line change
Expand Up @@ -136,27 +136,28 @@ public IniData Load()
/// <returns><see langword="true"/>, if the data was written to the file without errors.</returns>
public bool Save()
{
if (File.Exists(path: GetPath()))
if (!File.Exists(path: GetPath()))
File.Create(path: GetPath()).Dispose();

using (StreamWriter streamWriter = new StreamWriter(
path: GetPath(),
append: false
))
{
using (StreamWriter streamWriter = new StreamWriter(path: GetPath()))
Data.GetSections().ForEach(action: section =>
{
Data.GetSections().ForEach(action: section =>
streamWriter.WriteLine(value: $"[{section.Trim()}]");
Data.GetKeys(section).ForEach(action: key =>
{
streamWriter.WriteLine(value: $"[{section.Trim()}]");
Data.GetKeys(section).ForEach(action: key =>
{
var @keyFormatted = LineFormatter.KeyForIni(key: key);
var @valueFormatted = LineFormatter.Value(value: Data.Sections[section][key]);
var @keyFormatted = LineFormatter.KeyForIni(key: key);
var @valueFormatted = LineFormatter.Value(value: Data.Sections[section][key]);

streamWriter.WriteLine(value: $"{keyFormatted}={valueFormatted}");
});
streamWriter.WriteLine(value: $"{keyFormatted}={valueFormatted}");
});
}

return true;
});
}

return false;
return true;
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions src/MultiConfX/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// Можно задать все значения или принять номера сборки и редакции по умолчанию
// используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("23.0.0.1")]
[assembly: AssemblyFileVersion("23.0.0.1")]
[assembly: AssemblyVersion("23.0.0.2")]
[assembly: AssemblyFileVersion("23.0.0.2")]

0 comments on commit 6ef91c4

Please sign in to comment.