Class: Kdep::Discovery

Inherits:
Object
  • Object
show all
Defined in:
lib/kdep/discovery.rb

Instance Method Summary collapse

Constructor Details

#initialize(start_dir = Dir.pwd) ⇒ Discovery

Returns a new instance of Discovery.



3
4
5
# File 'lib/kdep/discovery.rb', line 3

def initialize(start_dir = Dir.pwd)
  @start_dir = start_dir
end

Instance Method Details

#find_deploysObject



19
20
21
22
23
24
25
26
27
# File 'lib/kdep/discovery.rb', line 19

def find_deploys
  kdep_dir = find_kdep_dir
  return [] unless kdep_dir

  Dir.entries(kdep_dir)
     .select { |e| File.directory?(File.join(kdep_dir, e)) }
     .reject { |e| e.start_with?(".") }
     .sort
end

#find_kdep_dirObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/kdep/discovery.rb', line 7

def find_kdep_dir
  dir = @start_dir
  loop do
    candidate = File.join(dir, "kdep")
    return candidate if File.directory?(candidate)
    parent = File.dirname(dir)
    break if parent == dir # reached filesystem root
    dir = parent
  end
  nil
end