class Raykit::Version

Version functionality

def self.detect(name,verbose=false)

detect a version number based on the NAME variable, if defined
def self.detect(name,verbose=false)
        puts 'detecting version' if(verbose)
        csproj_filename = "#{name}/#{name}.csproj"
        if(File.exists?(csproj_filename))
            puts "checking version in #{csproj_filename}" if(verbose)
            match = IO.read(csproj_filename).match(/<Version>([\d.]+)</)
            if(!match.nil? && match.captures.length>0)
                return match.captures[0]
            end
        else
            puts "#{csproj_filename} not found" if(verbose)
        end
        assembly_info_filename = "#{name}/Properties/AssemblyInfo.cs"
        if(File.exists?(assembly_info_filename))
            puts "checking version in #{assembly_info_filename}" if(verbose)
            match = IO.read(csproj_filename).match(/AssemblyVersion\(\"([.\w]+)/)
            if(!match.nil? && match.captures.length>0)
                return match.captures[0]
            end
        else
            puts "#{assembly_info_filename} not found" if(verbose)
        end
        gemspec_filename = "#{name}.gemspec"
        if(File.exists?(gemspec_filename))
            return IO.read(gemspec_filename).match(/version[\s]+=[\s]+['"]([\w.]+)['"]/).captures[0]
        end
        nuspec_filename="#{name}.nuspec"
        if(File.exists?(nuspec_filename))
            match = IO.read(nuspec_filename).match(/<[Vv]ersion>([\d.]+)</)
            if(!match.nil? && match.captures.length>0)
                return match.captures[0]
            end
        end
    '0.0.0'
end