class Dir

def self.get_data_dir()

def self.get_data_dir()
  if !ENV['DATA_DIR'].nil?
    data_dir = ENV['DATA_DIR']
    return data_dir if Dir.exist?(data_dir)
  end
  home_dir = Raykit::Environment.home_dir
  return home_dir if Dir.exist?(home_dir)
  Dir.tmpdir() 
end

def self.get_git_directories(dir)

def self.get_git_directories(dir)
  git_dirs = Array::new()
  Dir.chdir(dir) do
      Dir.glob('**/.git/index'){|f|
          git_dir = File.dirname(File.dirname(f))
          git_dirs << git_dir
      }
  end
  git_dirs
end

def self.get_git_urls(dir)

def self.get_git_urls(dir)
  urls = Set::new()
  Dir.chdir(dir) do
      get_git_directories(dir).each{|git_dir|
          Dir.chdir(git_dir) do
              url=`git config --get remote.origin.url`.strip
              urls.add(url)
          end
      }
  end
  urls
end

def self.get_text(dir,relative_name)

def self.get_text(dir,relative_name)
  File.read("#{dir}/#{relative_name}")
end

def self.set_text(dir,relative_name,text)

def self.set_text(dir,relative_name,text)
    File.open("#{dir}/#{relative_name}", "w") { |f| f.write text }
end