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