module Vvm::Validator

Constants

METHOD_MAP

Public Instance Methods

hg?() click to toggle source
# File lib/vvm/validator.rb, line 22
def hg?
  abort 'mercurial is required to install.' unless find_executable('hg')
  true
end
installed_version?(ver = version) click to toggle source
# File lib/vvm/validator.rb, line 39
def installed_version?(ver = version)
  abort "#{ver} is not installed." unless version_include?(ver)
  true
end
new_version?(ver = nil) click to toggle source
# File lib/vvm/validator.rb, line 32
def new_version?(ver = nil)
  Installer.pull
  ver = version if ver.nil?
  abort "#{ver} is already installed." if version_include?(ver)
  true
end
validate_before_invoke(command) click to toggle source
# File lib/vvm/validator.rb, line 17
def validate_before_invoke(command)
  return unless validations = METHOD_MAP[command.to_sym]
  validations.each { |m| send(m) }
end
version?() click to toggle source
# File lib/vvm/validator.rb, line 27
def version?
  abort 'undefined vim version. please run [ vvm list ].' if find_version.nil?
  true
end

Private Instance Methods

find_version() click to toggle source
# File lib/vvm/validator.rb, line 46
def find_version
  version_regex = /\Av\d\..+\z|\A(\d\.\d(a|b){0,1}(\.\d+){0,1})\z/
  regex = /(\Atip\z|\Asystem\z|\Alatest\z|#{version_regex})/
  $*.find { |v| v =~ regex }
end
use_system?(ver) click to toggle source
# File lib/vvm/validator.rb, line 60
def use_system?(ver)
  ver == 'system' && $*.include?('use')
end
version() click to toggle source
# File lib/vvm/validator.rb, line 52
def version
  Version.format(find_version)
end
version_include?(ver) click to toggle source
# File lib/vvm/validator.rb, line 56
def version_include?(ver)
  Version.versions.include?(ver) || use_system?(ver)
end