vvm-rb 0.0.8 → 0.0.9
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 +4 -4
- data/.rubocop.yml +2 -0
- data/VERSION +1 -1
- data/lib/vvm-rb/accesser.rb +0 -1
- data/lib/vvm-rb/cli.rb +10 -2
- data/lib/vvm-rb/installer.rb +0 -1
- data/lib/vvm-rb/validator.rb +22 -3
- data/lib/vvm-rb/version.rb +2 -2
- data/spec/installer_spec.rb +2 -2
- data/spec/spec_helper.rb +5 -2
- data/spec/switcher_spec.rb +1 -1
- data/spec/uninstaller_spec.rb +2 -2
- data/spec/validator_spec.rb +42 -0
- data/spec/version_spec.rb +2 -2
- data/vvm-rb.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c067745c355d0c1ea19f68c96093a87e50b5bb2
|
4
|
+
data.tar.gz: 1ba262a04a40b2bbd04b1f52353fddeeb811f199
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f95705dc184f0a6c8f46542ef587ea54b0fbdfbc6e427afbc477662bb86e6918e76ab2b8ebf1d27bc2cac7fa867e8b126e7a9e524054e3dfeea8f4852d039c14
|
7
|
+
data.tar.gz: e390d1374df2c609ffb72c7e98ff9daf12b9a6e533f7d7a7414ee4759623da91103a954e855ada84fcd6bd85d25b3d42a8305185ddc5966cddb1ed7ccf53c42f
|
data/.rubocop.yml
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.9
|
data/lib/vvm-rb/accesser.rb
CHANGED
data/lib/vvm-rb/cli.rb
CHANGED
@@ -39,12 +39,12 @@ test -f ~/.vvm-rb/etc/login && source ~/.vvm-rb/etc/login
|
|
39
39
|
desc 'list', 'Look available vim versions'
|
40
40
|
def list
|
41
41
|
Installer.fetch
|
42
|
-
puts Version.list
|
42
|
+
puts Version.list.join("\n")
|
43
43
|
end
|
44
44
|
|
45
45
|
desc 'versions', 'Look installed vim versions.'
|
46
46
|
def versions
|
47
|
-
puts Version.versions
|
47
|
+
puts Version.versions.join("\n")
|
48
48
|
end
|
49
49
|
|
50
50
|
desc 'uninstall [TAG]', 'Uninstall a specific version of Vim.'
|
@@ -54,11 +54,19 @@ test -f ~/.vvm-rb/etc/login && source ~/.vvm-rb/etc/login
|
|
54
54
|
|
55
55
|
before_method(:install, :reinstall, :rebuild, :list) { check_hg }
|
56
56
|
before_method(:install, :reinstall, :rebuild, :use, :uninstall) { check_tag }
|
57
|
+
before_method(:install) { new_version?(Version.versions) }
|
58
|
+
before_method(:reinstall, :rebuild, :use, :uninstall) do
|
59
|
+
version_exist?(Version.versions)
|
60
|
+
end
|
57
61
|
|
58
62
|
private
|
59
63
|
|
60
64
|
def installer(version, conf)
|
61
65
|
Installer.fetch
|
66
|
+
if version == 'latest'
|
67
|
+
version = Version.list.select { |v| v =~ /^v7-.+$/ }.last
|
68
|
+
new_version?(Version.versions, version)
|
69
|
+
end
|
62
70
|
i = Installer.new(version, conf)
|
63
71
|
i.checkout
|
64
72
|
i.configure
|
data/lib/vvm-rb/installer.rb
CHANGED
data/lib/vvm-rb/validator.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
module Validator
|
2
|
-
|
3
2
|
module_function
|
4
3
|
|
5
4
|
def check_hg
|
@@ -9,10 +8,30 @@ module Validator
|
|
9
8
|
return true
|
10
9
|
end
|
11
10
|
|
12
|
-
def check_tag
|
13
|
-
unless
|
11
|
+
def check_tag(tag = $*[1])
|
12
|
+
unless tag =~ /(^start$|^tip$|^v7-.+$|^system$|^latest$)/
|
14
13
|
abort 'undefined vim version. please run [ vvm-rb list ].'
|
15
14
|
end
|
16
15
|
return true
|
17
16
|
end
|
17
|
+
|
18
|
+
def new_version?(versions, version = $*[1])
|
19
|
+
if version_include?(versions, version)
|
20
|
+
abort "#{version} is already installed."
|
21
|
+
end
|
22
|
+
return true
|
23
|
+
end
|
24
|
+
|
25
|
+
def version_exist?(versions, version = $*[1])
|
26
|
+
unless version_include?(versions, version)
|
27
|
+
abort "#{version} is not installed."
|
28
|
+
end
|
29
|
+
return true
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def version_include?(versions, version)
|
35
|
+
return versions.include?(version)
|
36
|
+
end
|
18
37
|
end
|
data/lib/vvm-rb/version.rb
CHANGED
@@ -2,7 +2,7 @@ class Version
|
|
2
2
|
def self.list
|
3
3
|
Dir.chdir(get_vimorg_dir) do
|
4
4
|
list = `hg tags`.split.reverse
|
5
|
-
return list.values_at(* list.each_index.select { |i| i.odd? })
|
5
|
+
return list.values_at(* list.each_index.select { |i| i.odd? })
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
@@ -11,6 +11,6 @@ class Version
|
|
11
11
|
Dir.glob(File.join(get_vims_dir, 'v*')).sort.each do |d|
|
12
12
|
output << File.basename(d)
|
13
13
|
end
|
14
|
-
return output
|
14
|
+
return output
|
15
15
|
end
|
16
16
|
end
|
data/spec/installer_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe 'Installer' do
|
|
8
8
|
FileUtils.rm_rf(get_repos_dir)
|
9
9
|
FileUtils.rm_rf(get_etc_dir)
|
10
10
|
ENV['VVMOPT'] = '--enable-rubyinterp'
|
11
|
-
@version = 'v7-4'
|
11
|
+
@version = 'v7-4-103'
|
12
12
|
@installer = Installer.new(@version)
|
13
13
|
end
|
14
14
|
|
@@ -68,7 +68,7 @@ describe 'Installer' do
|
|
68
68
|
|
69
69
|
describe 'rebuild' do
|
70
70
|
before :all do
|
71
|
-
@version = 'v7-4'
|
71
|
+
@version = 'v7-4-103'
|
72
72
|
@installer = Installer.new(@version)
|
73
73
|
end
|
74
74
|
|
data/spec/spec_helper.rb
CHANGED
@@ -6,6 +6,7 @@ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
|
6
6
|
]
|
7
7
|
SimpleCov.start do
|
8
8
|
add_filter '/spec/'
|
9
|
+
add_filter '/vendor/'
|
9
10
|
end
|
10
11
|
|
11
12
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
@@ -18,6 +19,8 @@ include VvmRb
|
|
18
19
|
|
19
20
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
20
21
|
|
22
|
+
# [todo] - test is too slow
|
23
|
+
|
21
24
|
RSpec.configure do |config|
|
22
25
|
config.before :suite do
|
23
26
|
cache_dir = get_cache_dir
|
@@ -25,7 +28,7 @@ RSpec.configure do |config|
|
|
25
28
|
ENV['VVMROOT'] = cache_dir
|
26
29
|
FileUtils.mkdir_p(cache_dir)
|
27
30
|
Installer.fetch
|
28
|
-
%w{ v7-
|
31
|
+
%w{ v7-4-083 v7-4-103 }.each do |v|
|
29
32
|
i = Installer.new(v)
|
30
33
|
i.checkout
|
31
34
|
i.configure
|
@@ -48,5 +51,5 @@ RSpec.configure do |config|
|
|
48
51
|
end
|
49
52
|
|
50
53
|
def get_cache_dir
|
51
|
-
File.expand_path(File.join(File.dirname(__FILE__), '..', '
|
54
|
+
File.expand_path(File.join(File.dirname(__FILE__), '..', '.vvm_cache'))
|
52
55
|
end
|
data/spec/switcher_spec.rb
CHANGED
data/spec/uninstaller_spec.rb
CHANGED
@@ -4,7 +4,7 @@ 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'
|
7
|
+
version = 'v7-4-103'
|
8
8
|
Switcher.new(version).use
|
9
9
|
@uninstaller = Uninstaller.new(version)
|
10
10
|
end
|
@@ -16,7 +16,7 @@ describe 'Uninstaller' do
|
|
16
16
|
|
17
17
|
context 'can uninstall version' do
|
18
18
|
before :all do
|
19
|
-
@version = 'v7-
|
19
|
+
@version = 'v7-4-083'
|
20
20
|
Uninstaller.new(@version).uninstall
|
21
21
|
end
|
22
22
|
|
data/spec/validator_spec.rb
CHANGED
@@ -48,4 +48,46 @@ describe 'Validator' do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
51
|
+
|
52
|
+
describe 'new_version?' do
|
53
|
+
def dummy_method ; end
|
54
|
+
before_method(:dummy_method) { new_version?(Version.versions) }
|
55
|
+
|
56
|
+
context 'new version' do
|
57
|
+
before { $*[1] = 'v7-4-050' }
|
58
|
+
|
59
|
+
it 'success to run the method' do
|
60
|
+
expect(dummy_method).to be_nil
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context 'version is installed' do
|
65
|
+
before { $*[1] = 'v7-4-103' }
|
66
|
+
|
67
|
+
it 'cannot run the method' do
|
68
|
+
expect(proc { dummy_method }).to raise_error
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe 'version_exist?' do
|
74
|
+
def dummy_method ; end
|
75
|
+
before_method(:dummy_method) { version_exist?(Version.versions) }
|
76
|
+
|
77
|
+
context 'version is installed' do
|
78
|
+
before { $*[1] = 'v7-4-103' }
|
79
|
+
|
80
|
+
it 'success to run the method' do
|
81
|
+
expect(dummy_method).to be_nil
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context 'version is not installed' do
|
86
|
+
before { $*[1] = 'v7-4-050' }
|
87
|
+
|
88
|
+
it 'cannot run the method' do
|
89
|
+
expect(proc { dummy_method }).to raise_error
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
51
93
|
end
|
data/spec/version_spec.rb
CHANGED
@@ -3,13 +3,13 @@ require 'spec_helper'
|
|
3
3
|
describe 'Version' do
|
4
4
|
describe 'list' do
|
5
5
|
it 'echo available vim versions' do
|
6
|
-
expect(Version.list).to match(/start\n(v7-.+\n)+tip$/)
|
6
|
+
expect(Version.list.join("\n")).to match(/start\n(v7-.+\n)+tip$/)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
10
|
describe 'versions' do
|
11
11
|
it 'echo installed vim versions' do
|
12
|
-
expect(Version.versions).to eq("v7-
|
12
|
+
expect(Version.versions.join("\n")).to eq("v7-4-083\nv7-4-103")
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
data/vvm-rb.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
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.0.
|
5
|
+
# stub: vvm-rb 0.0.9 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "vvm-rb"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.9"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.authors = ["Yuu Shigetani"]
|
13
|
-
s.date = "2013-11-
|
13
|
+
s.date = "2013-11-27"
|
14
14
|
s.description = "vim version manager."
|
15
15
|
s.email = "s2g4t1n2@gmail.com"
|
16
16
|
s.executables = ["vvm-rb"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vvm-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuu Shigetani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|