vvm-rb 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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