Skip to content

Commit d7908c2

Browse files
committed
[R] Separate namespaces, Single responsibility, hierarchy
[#3] [add] initial
1 parent 8a3b8b0 commit d7908c2

28 files changed

+295
-181
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
22
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DI/@EntryIndexedValue">DI</s:String>
3+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IO/@EntryIndexedValue">IO</s:String>
34
<s:Boolean x:Key="/Default/UserDictionary/Words/=registrator/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

src/Simplify.Web.Postman/CollectionBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/CollectionBuilder.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using Simplify.Web.Postman.Models;
44

5-
namespace Simplify.Web.Postman
5+
namespace Simplify.Web.Postman.Assembly.Collection
66
{
77
/// <summary>
88
/// Provides postman collection model builder
@@ -16,7 +16,8 @@ public class CollectionBuilder
1616
/// </summary>
1717
/// <param name="partBuilders">The part builders.</param>
1818
/// <exception cref="ArgumentNullException">partBuilders</exception>
19-
public CollectionBuilder(IList<ICollectionPartBuilder> partBuilders) => _partBuilders = partBuilders ?? throw new ArgumentNullException(nameof(partBuilders));
19+
public CollectionBuilder(IList<ICollectionPartBuilder> partBuilders) => _partBuilders = partBuilders ??
20+
throw new ArgumentNullException(nameof(partBuilders));
2021

2122
/// <summary>
2223
/// Builds the collection model.

src/Simplify.Web.Postman/ICollectionPartBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/ICollectionPartBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
using Simplify.Web.Postman.Models;
1+
using Simplify.Web.Postman.Models;
22

3-
namespace Simplify.Web.Postman
3+
namespace Simplify.Web.Postman.Assembly.Collection
44
{
55
/// <summary>
66
/// Provides postman collection part builder

src/Simplify.Web.Postman/PartBuilders/CollectionHeaderBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/PartBuilders/CollectionHeaderBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
using Simplify.Web.Postman.Models;
1+
using Simplify.Web.Postman.Models;
22
using Simplify.Web.Postman.Settings;
33

4-
namespace Simplify.Web.Postman.PartBuilders
4+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
55
{
66
/// <summary>
77
/// Provides CollectionHeader builder

src/Simplify.Web.Postman/PartBuilders/CollectionItemsBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/PartBuilders/CollectionItemsBuilder.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
using System;
2-
using System.Linq;
31
using System.Collections.Generic;
42
using Simplify.Web.Meta;
53
using Simplify.Web.Postman.Models;
64

7-
namespace Simplify.Web.Postman.PartBuilders
5+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
86
{
97
/// <summary>
108
/// Provides CollectionItems builder
@@ -33,7 +31,7 @@ private static CollectionItem BuildCollectionItem(IControllerMetaData metaData,
3331
new()
3432
{
3533
Name = BuildName(metaData),
36-
Request = RequestBuilder.Build(metaData, route)
34+
Request = RequestBuilder.Build(metaData, route)
3735
};
3836

3937
private static string BuildName(IControllerMetaData metaData) => metaData.ControllerType.Name;

src/Simplify.Web.Postman/PartBuilders/RequestBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/PartBuilders/RequestBuilder.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4-
using System.Text.Encodings.Web;
54
using System.Text.Json;
65
using Simplify.Web.Meta;
76
using Simplify.Web.Postman.Models;
87

9-
namespace Simplify.Web.Postman.PartBuilders
8+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
109
{
1110
/// <summary>
1211
/// Provides request builder
@@ -26,7 +25,7 @@ public static class RequestBuilder
2625
public static string BaseUrlPath
2726
{
2827
get => _baseUrlPath ?? DefaultBaseUrlPath;
29-
set => _baseUrlPath = value ?? throw new NotImplementedException(nameof(value));
28+
set => _baseUrlPath = value ?? throw new ArgumentNullException(nameof(value));
3029
}
3130

3231
/// <summary>
@@ -68,6 +67,7 @@ public static Request Build(IControllerMetaData metaData, KeyValuePair<HttpMetho
6867

6968
return body;
7069
}
70+
7171
private static string BuildRequestJsonData(Type modelType) => JsonSerializer.Serialize(Activator.CreateInstance(modelType), new()
7272
{
7373
WriteIndented = true
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System;
2+
using Simplify.Web.Postman.Models;
3+
4+
namespace Simplify.Web.Postman.Assembly.Environment
5+
{
6+
/// <summary>
7+
/// Provides postman environment model builder
8+
/// </summary>
9+
public class EnvironmentBuilder
10+
{
11+
/// <summary>
12+
/// Creates this environment model.
13+
/// </summary>
14+
/// <returns></returns>
15+
public EnvironmentModel Create() => throw new NotImplementedException();
16+
}
17+
}

src/Simplify.Web.Postman/FileCollectionExporter.cs

Lines changed: 0 additions & 50 deletions
This file was deleted.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
using System.IO;
2+
using Simplify.Web.Postman.Assembly.Collection;
3+
using Simplify.Web.Postman.IO;
4+
using Simplify.Web.Postman.Settings;
5+
6+
namespace Simplify.Web.Postman.Generators
7+
{
8+
/// <summary>
9+
/// Provides file based collection generator
10+
/// </summary>
11+
public class FileBasedCollectionGenerator
12+
{
13+
private readonly CollectionBuilder _builder;
14+
private readonly ModelToFileExporter _exporter;
15+
private readonly IPostmanGenerationSettings _settings;
16+
17+
/// <summary>
18+
/// Initializes a new instance of the <see cref="FileBasedCollectionGenerator" /> class.
19+
/// </summary>
20+
/// <param name="builder">The builder.</param>
21+
/// <param name="exporter">The exporter.</param>
22+
/// <param name="settings">The settings.</param>
23+
public FileBasedCollectionGenerator(CollectionBuilder builder, ModelToFileExporter exporter, IPostmanGenerationSettings settings)
24+
{
25+
_exporter = exporter;
26+
_builder = builder;
27+
_settings = settings;
28+
}
29+
30+
/// <summary>
31+
/// Generates the collection
32+
/// </summary>
33+
public void Generate() => _exporter.Export(_builder.Create(), GenerateFileName());
34+
35+
private string GenerateFileName() =>
36+
Path.Combine(_settings.CollectionFileName + _settings.CollectionFileNamePostfix + ".json");
37+
}
38+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
using System.IO;
2+
using Simplify.Web.Postman.Assembly.Environment;
3+
using Simplify.Web.Postman.IO;
4+
using Simplify.Web.Postman.Settings;
5+
6+
namespace Simplify.Web.Postman.Generators
7+
{
8+
/// <summary>
9+
/// Provides file based postman environment generator
10+
/// </summary>
11+
public class FileBasedEnvironmentGenerator
12+
{
13+
private readonly EnvironmentBuilder _builder;
14+
private readonly ModelToFileExporter _exporter;
15+
private readonly IPostmanGenerationSettings _settings;
16+
17+
/// <summary>
18+
/// Initializes a new instance of the <see cref="FileBasedCollectionGenerator" /> class.
19+
/// </summary>
20+
/// <param name="builder">The builder.</param>
21+
/// <param name="exporter">The exporter.</param>
22+
/// <param name="settings">The settings.</param>
23+
public FileBasedEnvironmentGenerator(EnvironmentBuilder builder, ModelToFileExporter exporter, IPostmanGenerationSettings settings)
24+
{
25+
_exporter = exporter;
26+
_builder = builder;
27+
_settings = settings;
28+
}
29+
30+
/// <summary>
31+
/// Generates the collection
32+
/// </summary>
33+
public void Generate() => _exporter.Export(_builder.Create(), GenerateFileName());
34+
35+
private string GenerateFileName() =>
36+
Path.Combine(_settings.CollectionFileName + _settings.CollectionFileNamePostfix + ".json");
37+
}
38+
}

0 commit comments

Comments
 (0)