vvm-rb 0.1.6 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73e14a90f5be3f1bf0a37ddd611a6c639d0d13c2
4
- data.tar.gz: 15cff45395ac493061e1ddbe63e5109a20bf9e72
3
+ metadata.gz: db04ebaf8839808e3cfaf5e6e85024c5dc413e4a
4
+ data.tar.gz: e51593657f9f4d1cd017aa44cdf689c1e7a95389
5
5
  SHA512:
6
- metadata.gz: ff9d9bf9b3d1296a636764b9a8485e156e36a4e0ba2079523741436a883e0614c43ad03c7c4c29304702aab5242a78e1b08ac6d9850d5c8cec3ffdcc2e3c3dd8
7
- data.tar.gz: 8ca000a8edc886b54ccec1cf9917f6de1f81d5966d1ab7799065af40e7bdbf82e5480ca0de2d7fe0c42b06b9f9e980dd001682c0dc5291a13e713495ef3dff0d
6
+ metadata.gz: 6a8c2763818153c4b1f9426d41f79e0add627ad8367f1bba853d18e84a9d2c21815a4fbe19e051008da00322d37fdc862415433be46198dc76d31315dbcaa9d9
7
+ data.tar.gz: 5266a21ad544bb13822b932ad8460fc39742f5e28e66237d199141157cbc7d3d322e50aa14eb5a750159884c42348c3634b07d0af28ede2d533b5c16084e2c09
data/.rubocop.yml CHANGED
@@ -1,18 +1,25 @@
1
+ AllCops:
2
+ Exclude:
3
+ - .bundle/**
4
+ - .git/**
5
+ - .vvm_cache/**
6
+ - coverage/**
7
+ - etc/**
8
+ - pkg/**
9
+ - vendor/**
1
10
  LineLength:
2
11
  Max: 80
3
12
  MethodLength:
4
13
  Max: 30
5
- HashSyntax:
6
- Enabled: true
7
- RescueModifier:
8
- Enabled: false
9
14
  RedundantReturn:
10
15
  Enabled: false
11
16
  Documentation:
12
17
  Enabled: false
13
- RedundantBegin:
14
- Enabled: false
15
18
  SpecialGlobalVars:
16
19
  Enabled: false
17
20
  AccessorMethodName:
18
21
  Enabled: false
22
+ PredicateName:
23
+ Enabled: false
24
+ FileName:
25
+ Enabled: false
data/Gemfile CHANGED
@@ -1,13 +1,12 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rake'
4
- gem 'thor'
3
+ gem 'thor', '~> 0.19.1'
5
4
 
6
5
  group :development do
7
- gem 'rspec'
8
- gem 'rubocop'
9
- gem 'rdoc'
10
- gem 'jeweler'
11
- gem 'simplecov'
12
- gem 'coveralls', :require => false
6
+ gem 'rspec', '~> 2.14.1'
7
+ gem 'rubocop', '~> 0.21.0'
8
+ gem 'rdoc', '~> 4.1.1'
9
+ gem 'jeweler', '~> 2.0.1'
10
+ gem 'simplecov', '~> 0.8.2'
11
+ gem 'coveralls', '~> 0.7.0', require: false
13
12
  end
data/README.rdoc CHANGED
@@ -7,7 +7,11 @@
7
7
  {<img src="https://codeclimate.com/github/calorie/vvm-rb.png" />}[https://codeclimate.com/github/calorie/vvm-rb]
8
8
 
9
9
 
10
- vim version manager : fork from https://github.com/kana/vim-version-manager
10
+ vim version manager : forked from https://github.com/kana/vim-version-manager
11
+
12
+ == Requirements
13
+
14
+ ruby >= 1.9
11
15
 
12
16
  == Install
13
17
 
@@ -25,12 +29,12 @@ please add the following line into your ~/.bash_login etc:
25
29
 
26
30
  test -f ~/.vvm-rb/etc/login && source ~/.vvm-rb/etc/login
27
31
 
28
- you can set own root.
32
+ you can set own root:
29
33
 
30
34
  export VVMROOT=/your/vvm-rb/root/path
31
35
  test -f $VVMROOT/etc/login && source $VVMROOT/etc/login
32
36
 
33
- you can set your default options of configure.
37
+ you can set your default options of configure:
34
38
 
35
39
  export VVMOPT="--enable-rubyinterp --enable-pythoninterp"
36
40
 
@@ -47,7 +51,7 @@ you can set your default options of configure.
47
51
  $ vvm-rb uninstall 7.4.103
48
52
  $ vvm-rb update
49
53
 
50
- after use command, you have to reload shell.
54
+ after use command, you have to reload shell:
51
55
 
52
56
  $ exec $SHELL
53
57
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.6
1
+ 0.2.0
data/bin/vvm-rb CHANGED
@@ -10,5 +10,5 @@ rescue LoadError
10
10
  end
11
11
 
12
12
  include VvmRb
13
- Cli.source_root(File.dirname(__FILE__) + '/..')
13
+ Cli.source_root(File.join(File.dirname(__FILE__), '..'))
14
14
  Cli.start
data/lib/vvm-rb/cli.rb CHANGED
@@ -27,7 +27,8 @@ class Cli < Thor
27
27
  else
28
28
  run 'vvm-rb use system'
29
29
  run 'vvm-rb install --use latest'
30
- run "vvm-rb #{$?.success? ? 'uninstall' : 'use'} #{current}"
30
+ action = $?.success? ? 'uninstall' : 'use'
31
+ run "vvm-rb #{action} #{current}"
31
32
  end
32
33
  end
33
34
 
@@ -65,15 +66,6 @@ class Cli < Thor
65
66
  Uninstaller.new(Version.format(version)).uninstall
66
67
  end
67
68
 
68
- before_method(:install) { new_version? }
69
- before_method(:reinstall, :rebuild, :use, :uninstall) { version_exist? }
70
- before_method(:install, :reinstall, :rebuild, :use, :uninstall) { check_tag }
71
- before_method(:install, :list) { Installer.pull }
72
- before_method(:install, :reinstall, :rebuild, :list) { check_hg }
73
- before_method(*instance_methods(false)) do
74
- Installer.fetch unless File.exists?(get_vimorg_dir)
75
- end
76
-
77
69
  private
78
70
 
79
71
  def message
@@ -88,4 +80,22 @@ test -f ~/.vvm-rb/etc/login && source ~/.vvm-rb/etc/login
88
80
  EOS
89
81
  print "\e[0m"
90
82
  end
83
+
84
+ def self.init_vvm_rb
85
+ before_method(*instance_methods(false)) do
86
+ Installer.fetch unless File.exist?(get_vimorg_dir)
87
+ end
88
+ end
89
+
90
+ def self.validations
91
+ before_method(:install) { new_version? }
92
+ before_method(:reinstall, :rebuild, :use, :uninstall) { has_version? }
93
+ before_method(:install, :reinstall, :rebuild, :use, :uninstall) { version? }
94
+ before_method(:install, :list) { Installer.pull }
95
+ before_method(:install, :reinstall, :rebuild, :list) { has_hg? }
96
+ end
97
+
98
+ validations
99
+
100
+ init_vvm_rb
91
101
  end
@@ -11,7 +11,7 @@ class Installer
11
11
  def self.fetch
12
12
  FileUtils.mkdir_p(get_repos_dir)
13
13
  repos_dir = get_vimorg_dir
14
- system("hg -q clone #{VIM_URI} #{repos_dir}") unless File.exists?(repos_dir)
14
+ system("hg -q clone #{VIM_URI} #{repos_dir}") unless File.exist?(repos_dir)
15
15
  end
16
16
 
17
17
  def self.pull
@@ -21,7 +21,7 @@ class Installer
21
21
  def checkout
22
22
  src_dir = get_src_dir
23
23
  FileUtils.mkdir_p(src_dir)
24
- unless File.exists?(get_src_dir(@version))
24
+ unless File.exist?(get_src_dir(@version))
25
25
  archive = "hg archive -t tar -r #{@version} -p #{@version} -"
26
26
  expand = "(cd #{src_dir} && tar xf -)"
27
27
  Dir.chdir get_vimorg_dir do
@@ -55,8 +55,9 @@ class Installer
55
55
 
56
56
  def self.cp_etc
57
57
  current_login = get_login_file
58
- login = File.expand_path(File.dirname(__FILE__) + '/../../etc/login')
59
- if !File.exists?(current_login)
58
+ path = File.join(File.dirname(__FILE__), '..', '..', 'etc', 'login')
59
+ login = File.expand_path(path)
60
+ if !File.exist?(current_login)
60
61
  etc_dir = get_etc_dir
61
62
  FileUtils.mkdir_p(etc_dir)
62
63
  FileUtils.cp(login, etc_dir)
@@ -7,10 +7,10 @@ class Switcher
7
7
 
8
8
  def use
9
9
  current = get_current_dir
10
- FileUtils.rm(current) if File.exists?(current)
10
+ FileUtils.rm(current) if File.exist?(current)
11
11
  unless @version == 'system'
12
12
  vims_dir = get_vims_dir(@version)
13
- abort "#{@version} is not installed." unless File.exists?(vims_dir)
13
+ abort "#{@version} is not installed." unless File.exist?(vims_dir)
14
14
  FileUtils.ln_s(vims_dir, current)
15
15
  end
16
16
  end
@@ -9,13 +9,13 @@ class Uninstaller
9
9
  current = get_current_dir
10
10
  vims_dir = get_vims_dir(@version)
11
11
  src_dir = get_src_dir(@version)
12
- if File.exists?(current)
12
+ if File.exist?(current)
13
13
  target = File.readlink(current)
14
14
  if target == vims_dir
15
15
  abort "#{@version} can not be uninstalled; it is currently used."
16
16
  end
17
17
  end
18
- FileUtils.rm_rf(src_dir) if File.exists?(src_dir)
19
- FileUtils.rm_rf(vims_dir) if File.exists?(vims_dir)
18
+ FileUtils.rm_rf(src_dir) if File.exist?(src_dir)
19
+ FileUtils.rm_rf(vims_dir) if File.exist?(vims_dir)
20
20
  end
21
21
  end
@@ -1,14 +1,14 @@
1
1
  module Validator
2
2
  module_function
3
3
 
4
- def check_hg
4
+ def has_hg?
5
5
  unless Kernel.system('which hg > /dev/null')
6
6
  abort 'mercurial is required to install.'
7
7
  end
8
8
  return true
9
9
  end
10
10
 
11
- def check_tag
11
+ def version?
12
12
  if get_version.nil?
13
13
  abort 'undefined vim version. please run [ vvm-rb list ].'
14
14
  end
@@ -20,7 +20,7 @@ module Validator
20
20
  return true
21
21
  end
22
22
 
23
- def version_exist?(version = get_version)
23
+ def has_version?(version = get_version)
24
24
  abort "#{version} is not installed." unless version_include?(version)
25
25
  return true
26
26
  end
@@ -28,8 +28,8 @@ module Validator
28
28
  private
29
29
 
30
30
  def get_version
31
- version_regex = /^v7-.+$|^(\d\.\d(a|b){0,1}(\.\d+){0,1})$/
32
- regex = /(^start$|^tip$|^system$|^latest$|#{version_regex})/
31
+ version_regex = /\Av7-.+\z|\A(\d\.\d(a|b){0,1}(\.\d+){0,1})\z/
32
+ regex = /(\Astart\z|\Atip\z|\Asystem\z|\Alatest\z|#{version_regex})/
33
33
  version = $*.find { |v| v =~ regex }
34
34
  return Version.format(version)
35
35
  end
@@ -9,7 +9,7 @@ class Version
9
9
  def self.versions
10
10
  output = []
11
11
  vims_dir = get_vims_dir
12
- return output unless File.exists?(vims_dir)
12
+ return output unless File.exist?(vims_dir)
13
13
  Dir.glob(File.join(vims_dir, 'v*')).sort.each do |d|
14
14
  output << File.basename(d)
15
15
  end
@@ -17,12 +17,12 @@ class Version
17
17
  end
18
18
 
19
19
  def self.latest
20
- return list.select { |v| v =~ /^v7-.+$/ }.last
20
+ return list.select { |v| v =~ /\Av7-.+\z/ }.last
21
21
  end
22
22
 
23
23
  def self.current
24
24
  c = get_current_dir
25
- return File.exists?(c) ? File.basename(File.readlink(c)) : 'system'
25
+ return File.exist?(c) ? File.basename(File.readlink(c)) : 'system'
26
26
  end
27
27
 
28
28
  def self.convert(version)
@@ -31,9 +31,9 @@ class Version
31
31
 
32
32
  def self.format(version)
33
33
  case version
34
- when /^latest$/
34
+ when /\Alatest\z/
35
35
  version = latest
36
- when /^(\d\.\d(a|b){0,1}(\.\d+){0,1})$/
36
+ when /\A(\d\.\d(a|b){0,1}(\.\d+){0,1})\z/
37
37
  version = convert(version)
38
38
  end
39
39
  return version
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Accesser' do
4
+ it 'can access vvm-rb home directory' do
5
+ expect(File.exist?(get_dot_dir)).to be_true
6
+ end
7
+
8
+ it 'can access etc directory' do
9
+ expect(File.exist?(get_etc_dir)).to be_true
10
+ end
11
+
12
+ it 'can access repos directory' do
13
+ expect(File.exist?(get_repos_dir)).to be_true
14
+ end
15
+
16
+ it 'can access src directory' do
17
+ expect(File.exist?(get_src_dir)).to be_true
18
+ end
19
+
20
+ it 'can access vims directory' do
21
+ expect(File.exist?(get_vims_dir)).to be_true
22
+ end
23
+
24
+ it 'can access vimorg directory' do
25
+ expect(File.exist?(get_vimorg_dir)).to be_true
26
+ end
27
+
28
+ it 'can access login file' do
29
+ expect(File.exist?(get_login_file)).to be_true
30
+ end
31
+
32
+ context 'of current directory' do
33
+ before { Switcher.new(VERSION1).use }
34
+ after { Switcher.new('system').use }
35
+
36
+ it 'can access current directory' do
37
+ expect(File.exist?(get_current_dir)).to be_true
38
+ end
39
+ end
40
+ end
@@ -1,107 +1,120 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe 'Installer' do
3
+ describe 'Installer', disable_cache: true do
4
+ before :all do
5
+ ENV['VVMOPT'] = '--enable-rubyinterp'
6
+ @version = VERSION1
7
+ @installer = Installer.new(@version, [], true)
8
+ end
9
+
10
+ let(:version_src_dir) { get_src_dir(@version) }
11
+ let(:version_vims_dir) { get_vims_dir(@version) }
12
+ let(:vim) { File.join(version_vims_dir, 'bin', 'vim') }
13
+
4
14
  describe 'install' do
5
- before :all do
6
- FileUtils.rm_rf(get_src_dir)
7
- FileUtils.rm_rf(get_vims_dir)
8
- FileUtils.rm_rf(get_repos_dir)
9
- FileUtils.rm_rf(get_etc_dir)
10
- ENV['VVMOPT'] = '--enable-rubyinterp'
11
- @version = 'v7-4-103'
12
- @installer = Installer.new(@version, [], true)
13
- end
15
+ context 'fetch', clean: true do
16
+ before(:all) { Installer.fetch }
14
17
 
15
- context 'fetch' do
16
- before :all do
17
- Installer.fetch
18
+ it 'exists vimorg dir' do
19
+ expect(File.exist?(get_vimorg_dir)).to be_true
18
20
  end
19
21
 
20
- it 'exists vimorg dir' do
21
- expect(File.exists?(get_vimorg_dir)).to be_true
22
+ it 'success to clone' do
23
+ expect($?.success?).to be_true
24
+ end
25
+
26
+ it 'exists configure file' do
27
+ expect(File.exist?(File.join(get_vimorg_dir, 'configure'))).to be_true
22
28
  end
23
29
  end
24
30
 
25
- context 'pull' do
31
+ context 'pull', clean: true, vimorg: true do
26
32
  before :all do
33
+ Dir.chdir(get_vimorg_dir) { system('hg rollback') }
27
34
  Installer.pull
28
35
  end
29
36
 
30
- it 'exists vimorg dir' do
37
+ it 'success to pull' do
31
38
  expect($?.success?).to be_true
32
39
  end
40
+
41
+ it 'vim is uptodate' do
42
+ Dir.chdir(get_vimorg_dir) do
43
+ expect(`export LANG=en_US.UTF-8;hg pull`).to match(/no changes found/)
44
+ end
45
+ end
33
46
  end
34
47
 
35
- context 'checkout' do
48
+ context 'checkout', clean: true, vimorg: true do
36
49
  before :all do
37
50
  @installer.checkout
38
51
  end
39
52
 
40
53
  it 'exists src dir' do
41
- expect(File.exists?(get_src_dir(@version))).to be_true
54
+ expect(File.exist?(version_src_dir)).to be_true
55
+ end
56
+
57
+ it 'exists configure file' do
58
+ expect(File.exist?(File.join(version_src_dir, 'configure'))).to be_true
42
59
  end
43
60
  end
44
61
 
45
- context 'configure & make_install' do
62
+ context 'configure & make_install', clean: true, vimorg: true, src: true do
46
63
  before :all do
47
64
  @installer.configure
48
65
  @installer.make_install
49
66
  end
50
67
 
51
68
  it 'exists vims dir' do
52
- expect(File.exists?(get_vims_dir(@version))).to be_true
69
+ expect(File.exist?(version_vims_dir)).to be_true
70
+ end
71
+
72
+ it 'can execute vim' do
73
+ expect(system("#{vim} --version > /dev/null 2>&1")).to be_true
74
+ end
75
+
76
+ it 'enable rubyinterp' do
77
+ expect(`#{vim} --version |grep ruby`).to match(/\+ruby/)
53
78
  end
54
79
  end
55
80
 
56
- context 'cp_etc' do
81
+ context 'cp_etc', clean: true do
57
82
  context 'login file not exist' do
58
- before :all do
59
- Installer.cp_etc
60
- end
83
+ before(:all) { Installer.cp_etc }
61
84
 
62
85
  it 'exists etc dir' do
63
- expect(File.exists?(get_etc_dir)).to be_true
86
+ expect(File.exist?(get_etc_dir)).to be_true
64
87
  end
65
88
 
66
89
  it 'exists login file' do
67
- expect(File.exists?(get_login_file)).to be_true
90
+ expect(File.exist?(get_login_file)).to be_true
68
91
  end
69
92
  end
93
+
70
94
  context 'login file exists and it is not latest' do
71
95
  before :all do
72
96
  FileUtils.stub(:compare_file).and_return(false)
73
97
  end
74
98
 
75
99
  it 'exists login file' do
76
- l = File.expand_path(File.dirname(__FILE__) + '/../etc/login')
77
- expect(FileUtils).to receive(:cp).with(l, get_etc_dir)
100
+ path = File.join(File.dirname(__FILE__), '..', 'etc', 'login')
101
+ login = File.expand_path(path)
102
+ expect(FileUtils).to receive(:cp).with(login, get_etc_dir)
78
103
  Installer.cp_etc
79
104
  end
80
105
  end
81
106
  end
82
-
83
- context 'vvmopt' do
84
- let(:vim) { "#{get_vims_dir(@version)}/bin/vim" }
85
-
86
- it 'enable rubyinterp' do
87
- expect(`#{vim} --version |grep ruby`).to match(/\+ruby/)
88
- end
89
- end
90
107
  end
91
108
 
92
109
  describe 'rebuild' do
93
- before :all do
94
- @version = 'v7-4-103'
95
- @installer = Installer.new(@version, [], true)
96
- end
97
-
98
- context 'make_clean' do
110
+ context 'make_clean', clean: true, src: true do
99
111
  before :all do
100
112
  @installer.make_clean
101
113
  end
102
114
 
103
115
  it 'not exists objects dir' do
104
- expect(Dir["#{get_src_dir(@version)}/src/objects/*"].empty?).to be_true
116
+ path = File.join(version_src_dir, 'src', 'objects', '*')
117
+ expect(Dir[path].empty?).to be_true
105
118
  end
106
119
  end
107
120
  end
data/spec/spec_helper.rb CHANGED
@@ -17,18 +17,21 @@ require 'tmpdir'
17
17
  require 'vvm-rb'
18
18
  include VvmRb
19
19
 
20
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
20
+ support = File.join(File.dirname(__FILE__), 'support', '**', '*.rb')
21
+ Dir[support].each { |f| require f }
22
+
23
+ VERSION1, VERSION2 = 'v7-4-083', 'v7-4-103'
21
24
 
22
25
  # [todo] - test is too slow
23
26
 
24
27
  RSpec.configure do |config|
25
28
  config.before :suite do
26
29
  cache_dir = get_cache_dir
27
- unless File.exists?(cache_dir)
30
+ unless File.exist?(cache_dir)
28
31
  ENV['VVMROOT'] = cache_dir
29
32
  FileUtils.mkdir_p(cache_dir)
30
33
  Installer.fetch
31
- %w{ v7-4-083 v7-4-103 }.each do |v|
34
+ [VERSION1, VERSION2].each do |v|
32
35
  i = Installer.new(v, [], true)
33
36
  i.checkout
34
37
  i.configure
@@ -40,7 +43,9 @@ RSpec.configure do |config|
40
43
 
41
44
  config.before :all do
42
45
  @tmp = Dir.mktmpdir
43
- FileUtils.cp_r(get_cache_dir, @tmp)
46
+ unless self.class.metadata[:disable_cache]
47
+ FileUtils.cp_r(get_cache_dir, @tmp)
48
+ end
44
49
  ENV['VVMROOT'] = File.expand_path(File.join(@tmp, '.vvm_cache'))
45
50
  ENV['VVMOPT'] = nil
46
51
  end
@@ -48,8 +53,30 @@ RSpec.configure do |config|
48
53
  config.after :all do
49
54
  FileUtils.rm_rf(@tmp)
50
55
  end
56
+
57
+ config.before(:all, clean: true) { remove_directories }
58
+ config.before(:all, vimorg: true) { cp_vimorg_dir }
59
+ config.before(:all, src: true) { cp_src_dir }
51
60
  end
52
61
 
53
62
  def get_cache_dir
54
63
  File.expand_path(File.join(File.dirname(__FILE__), '..', '.vvm_cache'))
55
64
  end
65
+
66
+ def remove_directories
67
+ [get_src_dir, get_vims_dir, get_vims_dir, get_etc_dir].each do |dir|
68
+ FileUtils.rm_rf(dir) if File.exist?(dir)
69
+ end
70
+ end
71
+
72
+ def cp_vimorg_dir
73
+ return if File.exist?(get_vimorg_dir)
74
+ FileUtils.mkdir_p(get_repos_dir)
75
+ FileUtils.cp_r(File.join(get_cache_dir, 'repos', 'vimorg'), get_repos_dir)
76
+ end
77
+
78
+ def cp_src_dir
79
+ return if File.exist?(get_src_dir(@version))
80
+ FileUtils.mkdir_p(get_src_dir)
81
+ FileUtils.cp_r(File.join(get_cache_dir, 'src', @version), get_src_dir)
82
+ end
@@ -8,20 +8,20 @@ describe 'Switcher' do
8
8
  end
9
9
 
10
10
  it 'delete current' do
11
- expect(File.exists?(get_current_dir)).not_to be_true
11
+ expect(File.exist?(get_current_dir)).not_to be_true
12
12
  end
13
13
  end
14
14
 
15
15
  context 'different version' do
16
16
  before :all do
17
- version = 'v7-4-103'
17
+ version = VERSION1
18
18
  Switcher.new(version).use
19
19
  @vims_dir = get_vims_dir(version)
20
20
  @current = get_current_dir
21
21
  end
22
22
 
23
23
  it 'exist current' do
24
- expect(File.exists?(@current)).to be_true
24
+ expect(File.exist?(@current)).to be_true
25
25
  end
26
26
 
27
27
  it 'switch current' do
@@ -4,11 +4,15 @@ describe 'Uninstaller' do
4
4
  describe 'uninstall' do
5
5
  context 'vim version is currently used' do
6
6
  before :all do
7
- version = 'v7-4-103'
7
+ version = VERSION1
8
8
  Switcher.new(version).use
9
9
  @uninstaller = Uninstaller.new(version)
10
10
  end
11
11
 
12
+ after :all do
13
+ Switcher.new('system').use
14
+ end
15
+
12
16
  it 'raise error' do
13
17
  expect(proc { @uninstaller.uninstall }).to raise_error
14
18
  end
@@ -16,16 +20,16 @@ describe 'Uninstaller' do
16
20
 
17
21
  context 'can uninstall version' do
18
22
  before :all do
19
- @version = 'v7-4-083'
23
+ @version = VERSION1
20
24
  Uninstaller.new(@version).uninstall
21
25
  end
22
26
 
23
27
  it 'delete src dir' do
24
- expect(File.exists?(get_src_dir(@version))).not_to be_true
28
+ expect(File.exist?(get_src_dir(@version))).not_to be_true
25
29
  end
26
30
 
27
31
  it 'delete vims dir' do
28
- expect(File.exists?(get_vims_dir(@version))).not_to be_true
32
+ expect(File.exist?(get_vims_dir(@version))).not_to be_true
29
33
  end
30
34
  end
31
35
  end
@@ -2,15 +2,14 @@ require 'spec_helper'
2
2
  include VvmRb::Base
3
3
 
4
4
  describe 'Validator' do
5
+ NEW_VERSION = 'v7-4-050'
5
6
 
6
- describe 'check_hg' do
7
+ describe 'has_hg?' do
7
8
  def dummy_method ; end
8
- before_method(:dummy_method) { check_hg }
9
+ before_method(:dummy_method) { has_hg? }
9
10
 
10
11
  context 'hg is installed' do
11
- before do
12
- Kernel.stub(:system).and_return(true)
13
- end
12
+ before { Kernel.stub(:system).and_return(true) }
14
13
 
15
14
  it 'success to run the method' do
16
15
  expect(dummy_method).to be_nil
@@ -18,9 +17,7 @@ describe 'Validator' do
18
17
  end
19
18
 
20
19
  context 'hg is not installed' do
21
- before do
22
- Kernel.stub(:system).and_return(false)
23
- end
20
+ before { Kernel.stub(:system).and_return(false) }
24
21
 
25
22
  it 'cannot run the method' do
26
23
  expect(proc { dummy_method }).to raise_error
@@ -28,18 +25,14 @@ describe 'Validator' do
28
25
  end
29
26
  end
30
27
 
31
- describe 'check_tag' do
28
+ describe 'version?' do
32
29
  def dummy_method ; end
33
- before_method(:dummy_method) { check_tag }
30
+ before_method(:dummy_method) { version? }
34
31
 
35
- before :all do
36
- $* << %w(vvm-rb install)
37
- end
32
+ before(:all) { $* << %w(vvm-rb install) }
38
33
 
39
34
  context 'available tag' do
40
- before do
41
- $*[2] = 'v7-4-050'
42
- end
35
+ before { $*[2] = NEW_VERSION }
43
36
 
44
37
  it 'success to run the method' do
45
38
  expect(dummy_method).to be_nil
@@ -47,9 +40,7 @@ describe 'Validator' do
47
40
  end
48
41
 
49
42
  context 'latest' do
50
- before do
51
- $*[2] = 'latest'
52
- end
43
+ before { $*[2] = 'latest' }
53
44
 
54
45
  it 'success to run the method' do
55
46
  expect(dummy_method).to be_nil
@@ -57,9 +48,7 @@ describe 'Validator' do
57
48
  end
58
49
 
59
50
  context 'tag is not available' do
60
- before do
61
- $*[2] = '--use'
62
- end
51
+ before { $*[2] = '--use' }
63
52
 
64
53
  it 'cannot run the method' do
65
54
  expect(proc { dummy_method }).to raise_error
@@ -71,7 +60,7 @@ describe 'Validator' do
71
60
  def dummy_method ; end
72
61
 
73
62
  context 'new version' do
74
- before_method(:dummy_method) { new_version?('v7-4-050') }
63
+ before_method(:dummy_method) { new_version?(NEW_VERSION) }
75
64
 
76
65
  it 'success to run the method' do
77
66
  expect(dummy_method).to be_nil
@@ -79,7 +68,7 @@ describe 'Validator' do
79
68
  end
80
69
 
81
70
  context 'version is installed' do
82
- before_method(:dummy_method) { new_version?('v7-4-103') }
71
+ before_method(:dummy_method) { new_version?(VERSION1) }
83
72
 
84
73
  it 'cannot run the method' do
85
74
  expect(proc { dummy_method }).to raise_error
@@ -87,11 +76,11 @@ describe 'Validator' do
87
76
  end
88
77
  end
89
78
 
90
- describe 'version_exist?' do
79
+ describe 'has_version?' do
91
80
  def dummy_method ; end
92
81
 
93
82
  context 'version is installed' do
94
- before_method(:dummy_method) { version_exist?('v7-4-103') }
83
+ before_method(:dummy_method) { has_version?(VERSION1) }
95
84
 
96
85
  it 'success to run the method' do
97
86
  expect(dummy_method).to be_nil
@@ -99,7 +88,7 @@ describe 'Validator' do
99
88
  end
100
89
 
101
90
  context 'version is not installed' do
102
- before_method(:dummy_method) { version_exist?('v7-4-050') }
91
+ before_method(:dummy_method) { has_version?(NEW_VERSION) }
103
92
 
104
93
  it 'cannot run the method' do
105
94
  expect(proc { dummy_method }).to raise_error
data/spec/version_spec.rb CHANGED
@@ -5,14 +5,14 @@ require 'tmpdir'
5
5
  describe 'Version' do
6
6
  describe 'list' do
7
7
  it 'echo available vim versions' do
8
- expect(Version.list.join("\n")).to match(/start\n(v7-.+\n)+tip$/)
8
+ expect(Version.list.join("\n")).to match(/\Astart\n(v7-.+\n)+tip\z/)
9
9
  end
10
10
  end
11
11
 
12
12
  describe 'versions' do
13
13
  context 'vims dirctory exists' do
14
14
  it 'echo installed vim versions' do
15
- expect(Version.versions.join("\n")).to eq "v7-4-083\nv7-4-103"
15
+ expect(Version.versions.join("\n")).to eq "#{VERSION1}\n#{VERSION2}"
16
16
  end
17
17
  end
18
18
  context 'vims dirctory is not found' do
@@ -35,7 +35,7 @@ describe 'Version' do
35
35
 
36
36
  describe 'latest' do
37
37
  it 'return latest vim version' do
38
- expect(Version.latest).to match(/^v7-.+$/)
38
+ expect(Version.latest).to match(/\Av7-.+\z/)
39
39
  end
40
40
  end
41
41
 
@@ -48,9 +48,9 @@ describe 'Version' do
48
48
  end
49
49
 
50
50
  context 'current version is not system' do
51
- before { Switcher.new('v7-4-083').use }
51
+ before { Switcher.new(VERSION1).use }
52
52
  it 'return current vim version' do
53
- expect(Version.current).to eq 'v7-4-083'
53
+ expect(Version.current).to eq VERSION1
54
54
  end
55
55
  end
56
56
  end
@@ -77,7 +77,7 @@ describe 'Version' do
77
77
 
78
78
  context 'latest' do
79
79
  it 'return latest vim version' do
80
- expect(Version.format('latest')).to match(/^v7-.+$/)
80
+ expect(Version.format('latest')).to match(/\Av7-.+\z/)
81
81
  end
82
82
  end
83
83
  end
data/vvm-rb.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: vvm-rb 0.1.6 ruby lib
5
+ # stub: vvm-rb 0.2.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "vvm-rb"
9
- s.version = "0.1.6"
9
+ s.version = "0.2.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Yuu Shigetani"]
14
- s.date = "2014-01-19"
14
+ s.date = "2014-05-16"
15
15
  s.description = "vim version manager."
16
16
  s.email = "s2g4t1n2@gmail.com"
17
17
  s.executables = ["vvm-rb"]
@@ -42,6 +42,7 @@ Gem::Specification.new do |s|
42
42
  "lib/vvm-rb/uninstaller.rb",
43
43
  "lib/vvm-rb/validator.rb",
44
44
  "lib/vvm-rb/version.rb",
45
+ "spec/accesser_spec.rb",
45
46
  "spec/installer_spec.rb",
46
47
  "spec/spec_helper.rb",
47
48
  "spec/switcher_spec.rb",
@@ -52,40 +53,37 @@ Gem::Specification.new do |s|
52
53
  ]
53
54
  s.homepage = "http://github.com/calorie/vvm-rb"
54
55
  s.licenses = ["MIT"]
55
- s.rubygems_version = "2.2.0"
56
+ s.rubygems_version = "2.2.2"
56
57
  s.summary = "vim version manager"
57
58
 
58
59
  if s.respond_to? :specification_version then
59
60
  s.specification_version = 4
60
61
 
61
62
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
62
- s.add_runtime_dependency(%q<rake>, [">= 0"])
63
- s.add_runtime_dependency(%q<thor>, [">= 0"])
64
- s.add_development_dependency(%q<rspec>, [">= 0"])
65
- s.add_development_dependency(%q<rubocop>, [">= 0"])
66
- s.add_development_dependency(%q<rdoc>, [">= 0"])
67
- s.add_development_dependency(%q<jeweler>, [">= 0"])
68
- s.add_development_dependency(%q<simplecov>, [">= 0"])
69
- s.add_development_dependency(%q<coveralls>, [">= 0"])
63
+ s.add_runtime_dependency(%q<thor>, ["~> 0.19.1"])
64
+ s.add_development_dependency(%q<rspec>, ["~> 2.14.1"])
65
+ s.add_development_dependency(%q<rubocop>, ["~> 0.21.0"])
66
+ s.add_development_dependency(%q<rdoc>, ["~> 4.1.1"])
67
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
68
+ s.add_development_dependency(%q<simplecov>, ["~> 0.8.2"])
69
+ s.add_development_dependency(%q<coveralls>, ["~> 0.7.0"])
70
70
  else
71
- s.add_dependency(%q<rake>, [">= 0"])
72
- s.add_dependency(%q<thor>, [">= 0"])
73
- s.add_dependency(%q<rspec>, [">= 0"])
74
- s.add_dependency(%q<rubocop>, [">= 0"])
75
- s.add_dependency(%q<rdoc>, [">= 0"])
76
- s.add_dependency(%q<jeweler>, [">= 0"])
77
- s.add_dependency(%q<simplecov>, [">= 0"])
78
- s.add_dependency(%q<coveralls>, [">= 0"])
71
+ s.add_dependency(%q<thor>, ["~> 0.19.1"])
72
+ s.add_dependency(%q<rspec>, ["~> 2.14.1"])
73
+ s.add_dependency(%q<rubocop>, ["~> 0.21.0"])
74
+ s.add_dependency(%q<rdoc>, ["~> 4.1.1"])
75
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
76
+ s.add_dependency(%q<simplecov>, ["~> 0.8.2"])
77
+ s.add_dependency(%q<coveralls>, ["~> 0.7.0"])
79
78
  end
80
79
  else
81
- s.add_dependency(%q<rake>, [">= 0"])
82
- s.add_dependency(%q<thor>, [">= 0"])
83
- s.add_dependency(%q<rspec>, [">= 0"])
84
- s.add_dependency(%q<rubocop>, [">= 0"])
85
- s.add_dependency(%q<rdoc>, [">= 0"])
86
- s.add_dependency(%q<jeweler>, [">= 0"])
87
- s.add_dependency(%q<simplecov>, [">= 0"])
88
- s.add_dependency(%q<coveralls>, [">= 0"])
80
+ s.add_dependency(%q<thor>, ["~> 0.19.1"])
81
+ s.add_dependency(%q<rspec>, ["~> 2.14.1"])
82
+ s.add_dependency(%q<rubocop>, ["~> 0.21.0"])
83
+ s.add_dependency(%q<rdoc>, ["~> 4.1.1"])
84
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
85
+ s.add_dependency(%q<simplecov>, ["~> 0.8.2"])
86
+ s.add_dependency(%q<coveralls>, ["~> 0.7.0"])
89
87
  end
90
88
  end
91
89
 
metadata CHANGED
@@ -1,127 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vvm-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuu Shigetani
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-19 00:00:00.000000000 Z
11
+ date: 2014-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: thor
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - ">="
17
+ - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: '0'
19
+ version: 0.19.1
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - ">="
24
+ - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: '0'
26
+ version: 0.19.1
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rspec
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - ">="
31
+ - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '0'
33
+ version: 2.14.1
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - ">="
38
+ - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '0'
40
+ version: 2.14.1
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rubocop
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - ">="
45
+ - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '0'
47
+ version: 0.21.0
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - ">="
52
+ - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '0'
54
+ version: 0.21.0
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rdoc
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - ">="
59
+ - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '0'
61
+ version: 4.1.1
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - ">="
66
+ - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '0'
68
+ version: 4.1.1
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: jeweler
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - ">="
73
+ - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: '0'
75
+ version: 2.0.1
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - ">="
80
+ - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: '0'
82
+ version: 2.0.1
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: simplecov
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ">="
87
+ - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0'
89
+ version: 0.8.2
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ">="
94
+ - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '0'
96
+ version: 0.8.2
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: coveralls
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - ">="
101
+ - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: '0'
103
+ version: 0.7.0
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
- - - ">="
108
+ - - "~>"
123
109
  - !ruby/object:Gem::Version
124
- version: '0'
110
+ version: 0.7.0
125
111
  description: vim version manager.
126
112
  email: s2g4t1n2@gmail.com
127
113
  executables:
@@ -153,6 +139,7 @@ files:
153
139
  - lib/vvm-rb/uninstaller.rb
154
140
  - lib/vvm-rb/validator.rb
155
141
  - lib/vvm-rb/version.rb
142
+ - spec/accesser_spec.rb
156
143
  - spec/installer_spec.rb
157
144
  - spec/spec_helper.rb
158
145
  - spec/switcher_spec.rb
@@ -180,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
167
  version: '0'
181
168
  requirements: []
182
169
  rubyforge_project:
183
- rubygems_version: 2.2.0
170
+ rubygems_version: 2.2.2
184
171
  signing_key:
185
172
  specification_version: 4
186
173
  summary: vim version manager