Class: DotNetProject

Inherits:
Object
  • Object
show all
Defined in:
lib/dotnet_project.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, type, language) ⇒ DotNetProject



5
6
7
8
9
10
# File 'lib/dotnet_project.rb', line 5

def initialize(name,type,language)
    @name=name
    @type=type
    @language=language
    setup
end

Instance Method Details

#languageObject



20
21
22
# File 'lib/dotnet_project.rb', line 20

def language
    @language
end

#nameObject



12
13
14
# File 'lib/dotnet_project.rb', line 12

def name
    @name
end

#projectExtensionObject



24
25
26
27
# File 'lib/dotnet_project.rb', line 24

def projectExtension
    return "fsproj" if @language=="F#"
    "csproj"
end

#setupObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/dotnet_project.rb', line 29

def setup
    if(@type=="classlib")
        FileUtils.mkdir(@name)if(!Dir.exists?(@name))
        if(!File.exist?("#{@name}/#{@name}.#{projectExtension}"))
            Dir.chdir(@name) do
                puts `dotnet new classlib -lang #{@language}`
            end
        end
        FileUtils.mkdir("#{@name}.Test")if(!Dir.exist?("#{@name}.Test"))
        if(!File.exist?("#{@name}.Test/#{@name}.Test.#{projectExtension}"))
            Dir.chdir("#{@name}.Test") do
                puts `dotnet new nunit -lang #{@language}`
                puts `dotnet add reference ../#{@name}/#{@name}.#{projectExtension}`
            end
        end
    end

    if(!File.exist?("#{name}.sln"))
        puts `dotnet new sln -n #{name}`
        puts `dotnet sln #{name}.sln add #{name}/#{name}.#{projectExtension}`
        puts `dotnet sln #{name}.sln add #{name}.Test/#{name}.Test.#{projectExtension}`
    end
end

#typeObject



16
17
18
# File 'lib/dotnet_project.rb', line 16

def type
    @type
end