Class: Raykit::DotNet
- Inherits:
-
Object
- Object
- Raykit::DotNet
- Defined in:
- lib/raykit/dotnet.rb
Class Method Summary collapse
- .get_package_names(filename) ⇒ Object
-
.initialize_csharp_console(name) ⇒ Object
initialize a C# console application.
-
.initialize_csharp_lib(name) ⇒ Object
initialize a C# library.
-
.initialize_csharp_service(name) ⇒ Object
initialize a C# worker service.
-
.initialize_csharp_wpf_application(name) ⇒ Object
initialize a C# wpf application.
-
.initialize_fsharp_lib(name) ⇒ Object
initialize an F# library.
Class Method Details
.get_package_names(filename) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/raykit/dotnet.rb', line 94 def self.get_package_names(filename) package_names = [] if File.exist?(filename) && filename.include?(".csproj") regex = /<PackageReference Include="([\w.-]+)"/ text = IO.read(filename) text.scan(regex).each do |m| package_names << m.first.to_s end end package_names end |
.initialize_csharp_console(name) ⇒ Object
initialize a C# console application
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/raykit/dotnet.rb', line 48 def self.initialize_csharp_console(name) unless Dir.exist?(name) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new console -lang C#` end puts `dotnet new sln` puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj` FileUtils.mkdir("#{name}.Test") unless Dir.exist?("#{name}.Test") Dir.chdir("#{name}.Test") do puts `dotnet new nunit -lang C#` puts `dotnet add reference ../#{name}/#{name}.csproj` end puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.csproj` end end |
.initialize_csharp_lib(name) ⇒ Object
initialize a C# library
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/raykit/dotnet.rb', line 6 def self.initialize_csharp_lib(name) puts `dotnet new sln --name #{name}` unless File.exist?("#{name}.sln") unless Dir.exist?(name) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new classlib -lang C#` end # puts `dotnet new sln` puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj` FileUtils.mkdir("#{name}.Test") unless Dir.exist?("#{name}.Test") Dir.chdir("#{name}.Test") do puts `dotnet new nunit -lang C#` puts `dotnet add reference ../#{name}/#{name}.csproj` end puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.csproj` end end |
.initialize_csharp_service(name) ⇒ Object
initialize a C# worker service
83 84 85 86 87 88 89 90 91 92 |
# File 'lib/raykit/dotnet.rb', line 83 def self.initialize_csharp_service(name) unless Dir.exist?(name) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new worker -lang C#` end puts `dotnet new sln` puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj` end end |
.initialize_csharp_wpf_application(name) ⇒ Object
initialize a C# wpf application
68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/raykit/dotnet.rb', line 68 def self.initialize_csharp_wpf_application(name) puts `dotnet new sln --name #{name}` unless Dir.exist?(name) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new wpf -lang C#` end end puts `dotnet sln #{name}.sln add #{name}/#{name}.csproj` initialize_csharp_lib("#{name}.Library") puts `dotnet sln #{name}.sln add #{name}.Library/#{name}.Library.csproj` puts `dotnet sln #{name}.sln add #{name}.Library.Test/#{name}.Library.Test.csproj` end |
.initialize_fsharp_lib(name) ⇒ Object
initialize an F# library
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/raykit/dotnet.rb', line 27 def self.initialize_fsharp_lib(name) puts `dotnet new sln --name #{name}` unless File.exist?("#{name}.sln") unless Dir.exist?(name) FileUtils.mkdir(name) Dir.chdir(name) do puts `dotnet new classlib -lang F#` end # puts `dotnet new sln` puts `dotnet sln #{name}.sln add #{name}/#{name}.fsproj` FileUtils.mkdir("#{name}.Test") unless Dir.exist?("#{name}.Test") Dir.chdir("#{name}.Test") do puts `dotnet new nunit -lang F#` puts `dotnet add reference ../#{name}/#{name}.fsproj` end puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.fsproj` end end |