class Project

Attributes

filename[RW]

Public Class Methods

new(value='') click to toggle source
# File lib/project.rb, line 6
def initialize value=''
        @filename=''
        self[:url]=''
        self[:url] = value if value.is_a?(String)
        if(value.is_a?(Hash))
                value.each{|k,v|self[k]=v}
        end
end

Public Instance Methods

checkout() click to toggle source
# File lib/project.rb, line 43
def checkout
        if(!File.exists?(wrk_dir) && self[:url].include?('svn'))
                puts "checkout #{self.url} to #{self.wrk_dir}"
                puts `svn checkout #{self.url} #{self.wrk_dir}`
        end
end
clone() click to toggle source
# File lib/project.rb, line 36
def clone
        if(!File.exists?(wrk_dir) && self[:url].include?('.git'))
                puts "cloning #{self[:url]} to #{self.wrk_dir}"
                puts `git clone #{self[:url]} #{self.wrk_dir}`
        end
end
get_latest_unique_id() click to toggle source
# File lib/project.rb, line 19
def get_latest_unique_id 
        '51ed9c9d45ba3979c808740d75ba1831c85aff5d'
end
name() click to toggle source
# File lib/project.rb, line 15
def name
    self[:name]
end
pull() click to toggle source
# File lib/project.rb, line 27
def pull
        if(File.exists?(wrk_dir) && File.exists?("#{wrk_dir}/.git"))
                Dir.chdir(wrk_dir) do
                        puts "git pull (#{wrk_dir})"
                        puts `git pull`
                end
        end
end
rake() click to toggle source
# File lib/project.rb, line 50
def rake
        if(!File.exists?(self.wrk_dir))
                clone
                checkout
        end
        if(File.exists?(self.wrk_dir))
                Dir.chdir(self.wrk_dir) do
                        rake = Command.new({ :input => 'rake', :timeout => 300, :ignore_failure => true })
                        #puts "rake (#{self.wrk_dir})"
                        #puts `rake`
                        rake.execute
                        puts rake.summary
                end
        end
end
wrk_dir() click to toggle source
# File lib/project.rb, line 23
def wrk_dir
        "#{Environment.dev_root}/wrk/#{self.name}"
end