Module: Validator

Included in:
VvmRb
Defined in:
lib/vvm-rb/validator.rb

Class Method Summary collapse

Class Method Details

.get_versionObject



30
31
32
33
34
35
# File 'lib/vvm-rb/validator.rb', line 30

def get_version
  version_regex = /\Av7-.+\z|\A(\d\.\d(a|b){0,1}(\.\d+){0,1})\z/
  regex = /(\Astart\z|\Atip\z|\Asystem\z|\Alatest\z|#{version_regex})/
  version = $*.find { |v| v =~ regex }
  return Version.format(version)
end

.has_hg?Boolean

Returns:

  • (Boolean)


4
5
6
7
8
9
# File 'lib/vvm-rb/validator.rb', line 4

def has_hg?
  unless Kernel.system('which hg > /dev/null')
    abort 'mercurial is required to install.'
  end
  return true
end

.has_version?(version = get_version) ⇒ Boolean

Returns:

  • (Boolean)


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

def has_version?(version = get_version)
  abort "#{version} is not installed." unless version_include?(version)
  return true
end

.new_version?(version = get_version) ⇒ Boolean

Returns:

  • (Boolean)


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

def new_version?(version = get_version)
  abort "#{version} is already installed." if version_include?(version)
  return true
end

.use_system?(version) ⇒ Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/vvm-rb/validator.rb', line 41

def use_system?(version)
  return version == 'system' && $*.include?('use')
end

.version?Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
# File 'lib/vvm-rb/validator.rb', line 11

def version?
  if get_version.nil?
    abort 'undefined vim version. please run [ vvm-rb list ].'
  end
  return true
end

.version_include?(version) ⇒ Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/vvm-rb/validator.rb', line 37

def version_include?(version)
  return Version.versions.include?(version) || use_system?(version)
end