Sha256: 66db3ba5bed2aa5347872b44f08a1475a16486a8cbb087f0539197b2791d0dad

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

require 'json'

class Project < Hash
attr_accessor :filename
	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

    def name
    	self[:name]
    end
    
	def get_latest_unique_id 
		'51ed9c9d45ba3979c808740d75ba1831c85aff5d'
	end

	def wrk_dir
		"#{Environment.dev_root}/wrk/#{self.name}"
	end

	def pull
		if(File.exists?(wrk_dir) && File.exists?("#{wrk_dir}/.git"))
			puts "git pull (#{wrk_dir})"
			puts `git pull`
		end
	end

	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

	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

	def rake
		if(!File.exists?(self.wrk_dir))
			clone
			checkout
		end
		if(File.exists?(self.wrk_dir))
			Dir.chdir(self.wrk_dir) do
				puts "rake (#{self.wrk_dir})"
				puts `rake`
			end
		end
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dev_projects-0.0.15 lib/project.rb