Class: Version

Inherits:
Object
  • Object
show all
Defined in:
lib/vvm-rb/version.rb

Class Method Summary collapse

Class Method Details

.convert(version) ⇒ Object



28
29
30
# File 'lib/vvm-rb/version.rb', line 28

def self.convert(version)
  return "v#{version.gsub(/\./, '-')}"
end

.currentObject



23
24
25
26
# File 'lib/vvm-rb/version.rb', line 23

def self.current
  c = get_current_dir
  return File.exist?(c) ? File.basename(File.readlink(c)) : 'system'
end

.format(version) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/vvm-rb/version.rb', line 32

def self.format(version)
  case version
  when /\Alatest\z/
    version = latest
  when /\A(\d\.\d(a|b){0,1}(\.\d+){0,1})\z/
    version = convert(version)
  end
  return version
end

.latestObject



19
20
21
# File 'lib/vvm-rb/version.rb', line 19

def self.latest
  return list.select { |v| v =~ /\Av7-.+\z/ }.last
end

.listObject



2
3
4
5
6
7
# File 'lib/vvm-rb/version.rb', line 2

def self.list
  Dir.chdir(get_vimorg_dir) do
    list = `hg tags`.split.reverse
    return list.values_at(* list.each_index.select { |i| i.odd? })
  end
end

.versionsObject



9
10
11
12
13
14
15
16
17
# File 'lib/vvm-rb/version.rb', line 9

def self.versions
  output   = []
  vims_dir = get_vims_dir
  return output unless File.exist?(vims_dir)
  Dir.glob(File.join(vims_dir, 'v*')).sort.each do |d|
    output << File.basename(d)
  end
  return output
end