Module: Autowow::Features::Rbenv
Instance Method Summary
collapse
Methods included from Executor
#pretty, #pretty_with_output, #quiet, #tty_params
#aliases, #installed_versions, #rbenv, #version
Instance Method Details
#exists? ⇒ Boolean
15
16
17
18
19
20
21
|
# File 'lib/autowow/features/rbenv.rb', line 15
def exists?
begin
quiet.run!(rbenv).success?
rescue SystemCallError
false
end
end
|
#obsolete_versions ⇒ Object
46
47
48
49
50
51
52
53
|
# File 'lib/autowow/features/rbenv.rb', line 46
def obsolete_versions
alias_map = ruby_aliases
used_versions_and_aliases = used_versions
used_versions.each do |v|
used_versions_and_aliases.push(alias_map[v]) if alias_map.has_key?(v)
end
quiet.run(installed_versions).out.clean_lines - used_versions_and_aliases
end
|
#ruby_aliases ⇒ Object
36
37
38
39
40
41
42
43
44
|
# File 'lib/autowow/features/rbenv.rb', line 36
def ruby_aliases
ret = {}
result = quiet.run!(aliases)
return ret unless result.success?
result.out.clean_lines.each do |line|
ret[line.split(" => ")[0]] = line.split(" => ")[1]
end
ret
end
|
#ruby_versions ⇒ Object
23
24
25
|
# File 'lib/autowow/features/rbenv.rb', line 23
def ruby_versions
logger.info(used_versions)
end
|
#used_versions ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'lib/autowow/features/rbenv.rb', line 27
def used_versions
rubies = []
Fs.in_place_or_subdirs(Vcs.is_git?) do
result = quiet.run!(version)
rubies.concat(result.out.clean_lines) if result.success?
end
rubies.uniq
end
|