class Raykit::DotNet

Public Class Methods

get_package_names(filename) click to toggle source
# File lib/raykit/dotnet.rb, line 92
def self.get_package_names(filename)
    package_names = Array.new
    if(File.exist?(filename))
        if(filename.include?('.csproj'))
            regex=/<PackageReference Include="([\w.-]+)"/
            text=IO.read(filename)
            text.scan(regex).each{|m|
                package_names << m.first.to_s
            }
        end
    end
    package_names
end
initialize_csharp_console(name) click to toggle source

initialize a C# console application

# File lib/raykit/dotnet.rb, line 46
def self.initialize_csharp_console(name)
    if(!Dir.exists?(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")if(!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) click to toggle source

initialize a C# library

# File lib/raykit/dotnet.rb, line 4
def self.initialize_csharp_lib(name)
    puts `dotnet new sln --name #{name}` if(!File.exist?("#{name}.sln"))
    if(!Dir.exists?(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")if(!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) click to toggle source

initialize a C# worker service

# File lib/raykit/dotnet.rb, line 81
def self.initialize_csharp_service(name)
    if(!Dir.exists?(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) click to toggle source

initialize a C# wpf application

# File lib/raykit/dotnet.rb, line 66
def self.initialize_csharp_wpf_application(name)
    puts `dotnet new sln --name #{name}`
    if(!Dir.exists?(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) click to toggle source

initialize an F# library

# File lib/raykit/dotnet.rb, line 25
def self.initialize_fsharp_lib(name)
    puts `dotnet new sln --name #{name}` if(!File.exist?("#{name}.sln"))
    if(!Dir.exists?(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")if(!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