Class: Dir

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

Class Method Summary collapse

Class Method Details

.get_data_dirObject



39
40
41
42
43
44
45
46
47
48
# File 'lib/raykit/dir.rb', line 39

def self.get_data_dir
  unless 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

.get_git_directories(dir) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/raykit/dir.rb', line 15

def self.get_git_directories(dir)
  git_dirs = []
  Dir.chdir(dir) do
    Dir.glob("**/.git/index") do |f|
      git_dir = File.dirname(File.dirname(f))
      git_dirs << git_dir
    end
  end
  git_dirs
end

.get_git_urls(dir) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/raykit/dir.rb', line 26

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

.get_text(dir, relative_name) ⇒ Object



7
8
9
# File 'lib/raykit/dir.rb', line 7

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

.set_text(dir, relative_name, text) ⇒ Object



11
12
13
# File 'lib/raykit/dir.rb', line 11

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