Skip to content

Commit 11a1396

Browse files
author
Anthony Sneed
committed
Refactor AddHandlebarsScaffolding extension method
- Move handlebarsHelpers parameter to AddHandlebarsHelpers method.
1 parent c6b200b commit 11a1396

File tree

9 files changed

+36
-17
lines changed

9 files changed

+36
-17
lines changed

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,10 @@ public class ScaffoldingDesignTimeServices : IDesignTimeServices
8686
var myHelper = (helperName: "my-helper", helperFunction: (Action<TextWriter, object, object[]>) MyHbsHelper);
8787

8888
// Add Handlebars scaffolding templates
89-
services.AddHandlebarsScaffolding(options, myHelper);
89+
services.AddHandlebarsScaffolding(options);
90+
91+
// Register Handlebars helper
92+
services.AddHandlebarsHelpers(myHelper);
9093
}
9194

9295
// Sample Handlebars helper
27.3 KB
Binary file not shown.
Binary file not shown.

sample/ScaffoldingSample/Sample.ReadMe.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ public class ScaffoldingDesignTimeServices : IDesignTimeServices
3232
var myHelper = (helperName: "my-helper", helperFunction: (Action<TextWriter, object, object[]>) MyHbsHelper);
3333

3434
// Add Handlebars scaffolding templates
35-
services.AddHandlebarsScaffolding(options, myHelper);
35+
services.AddHandlebarsScaffolding(options);
36+
37+
// Register Handlebars helper
38+
services.AddHandlebarsHelpers(myHelper);
3639
}
3740

3841
// Sample Handlebars helper

sample/ScaffoldingSample/ScaffoldingDesignTimeServices.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ public void ConfigureDesignTimeServices(IServiceCollection services)
2323
var myHelper = (helperName: "my-helper", helperFunction: (Action<TextWriter, object, object[]>) MyHbsHelper);
2424

2525
// Add Handlebars scaffolding templates
26-
services.AddHandlebarsScaffolding(options, myHelper);
26+
services.AddHandlebarsScaffolding(options);
27+
28+
// Register Handlebars helper
29+
services.AddHandlebarsHelpers(myHelper);
2730
}
2831

2932
// Sample Handlebars helper

sample/ScaffoldingSample/ScaffoldingSample.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
10-
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" />
9+
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
10+
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.1" />
1111
</ItemGroup>
1212

1313
<ItemGroup>

src/EntityFrameworkCore.Scaffolding.Handlebars/EntityFrameworkCore.Scaffolding.Handlebars.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
6-
<PackageVersion>1.1.1</PackageVersion>
6+
<PackageVersion>1.5.0</PackageVersion>
77
<Authors>Tony Sneed</Authors>
88
<Company>Tony Sneed</Company>
99
<Title>Entity Framework Core Scaffolding with Handlebars</Title>
@@ -12,12 +12,12 @@
1212
<PackageProjectUrl>https://github.com/TrackableEntities/EntityFrameworkCore.Scaffolding.Handlebars</PackageProjectUrl>
1313
<PackageIconUrl>https://user-images.githubusercontent.com/2836367/31976914-e533eec4-b8ff-11e7-95ce-394df5cbe72b.png</PackageIconUrl>
1414
<PackageTags>scaffolding reverse-engineer entity-framework-core handlebars</PackageTags>
15-
<PackageReleaseNotes>See: https://github.com/TrackableEntities/EntityFrameworkCore.Scaffolding.Handlebars/releases/tag/v1.1.1</PackageReleaseNotes>
15+
<PackageReleaseNotes>See: https://github.com/TrackableEntities/EntityFrameworkCore.Scaffolding.Handlebars/releases/tag/v1.5.0</PackageReleaseNotes>
1616
<LangVersion>latest</LangVersion>
1717
<IncludeSource>true</IncludeSource>
1818
<SignAssembly>true</SignAssembly>
1919
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
20-
<Version>1.1.1</Version>
20+
<Version>1.5.0</Version>
2121
</PropertyGroup>
2222

2323
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -41,7 +41,7 @@
4141

4242
<ItemGroup>
4343
<PackageReference Include="Handlebars.Net" Version="1.9.4" />
44-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.0" />
44+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.1" />
4545
</ItemGroup>
4646

4747
<ItemGroup>

src/EntityFrameworkCore.Scaffolding.Handlebars/ServiceCollectionExtensions.cs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@ public static class ServiceCollectionExtensions
3030
/// </summary>
3131
/// <param name="services"> The <see cref="IServiceCollection" /> to add services to. </param>
3232
/// <param name="options">Options for reverse engineering classes from an existing database.</param>
33-
/// <param name="handlebarsHelpers">Additional Handlebars helpers.</param>
3433
/// <returns>The same service collection so that multiple calls can be chained.</returns>
3534
public static IServiceCollection AddHandlebarsScaffolding(this IServiceCollection services,
36-
ReverseEngineerOptions options = ReverseEngineerOptions.DbContextAndEntities,
37-
params (string helperName, Action<TextWriter, object, object[]> helperFunction)[] handlebarsHelpers)
35+
ReverseEngineerOptions options = ReverseEngineerOptions.DbContextAndEntities)
3836
{
3937
Type dbContextGeneratorImpl;
4038
var dbContextGeneratorType = typeof(ICSharpDbContextGenerator);
@@ -57,6 +55,20 @@ public static IServiceCollection AddHandlebarsScaffolding(this IServiceCollectio
5755
services.AddSingleton<ITemplateFileService, FileSystemTemplateFileService>();
5856
services.AddSingleton<IDbContextTemplateService, HbsDbContextTemplateService>();
5957
services.AddSingleton<IEntityTypeTemplateService, HbsEntityTypeTemplateService>();
58+
services.AddSingleton<IModelCodeGenerator, HbsCSharpModelGenerator>();
59+
services.AddSingleton<IReverseEngineerScaffolder, HbsReverseEngineerScaffolder>();
60+
return services;
61+
}
62+
63+
/// <summary>
64+
/// Register Handlebars helpers.
65+
/// </summary>
66+
/// <param name="services"> The <see cref="IServiceCollection" /> to add services to. </param>
67+
/// <param name="handlebarsHelpers">Handlebars helpers.</param>
68+
/// <returns>The same service collection so that multiple calls can be chained.</returns>
69+
public static IServiceCollection AddHandlebarsHelpers(this IServiceCollection services,
70+
params (string helperName, Action<TextWriter, object, object[]> helperFunction)[] handlebarsHelpers)
71+
{
6072
services.AddSingleton<IHbsHelperService>(provider =>
6173
{
6274
var helpers = new Dictionary<string, Action<TextWriter, object, object[]>>
@@ -66,8 +78,6 @@ public static IServiceCollection AddHandlebarsScaffolding(this IServiceCollectio
6678
handlebarsHelpers.ToList().ForEach(h => helpers.Add(h.helperName, h.helperFunction));
6779
return new HbsHelperService(helpers);
6880
});
69-
services.AddSingleton<IModelCodeGenerator, HbsCSharpModelGenerator>();
70-
services.AddSingleton<IReverseEngineerScaffolder, HbsReverseEngineerScaffolder>();
7181
return services;
7282
}
7383
}

test/Scaffolding.Handlebars.Tests/Scaffolding.Handlebars.Tests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.0" />
11-
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.0" />
12-
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
10+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.1" />
11+
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.1" />
12+
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
1313
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.2" />
1414
<PackageReference Include="xunit" Version="2.3.1" />
1515
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />

0 commit comments

Comments
 (0)