vvm-rb 0.2.2 → 1.0.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 +4 -4
- data/.rubocop.yml +10 -8
- data/Gemfile +5 -5
- data/VERSION +1 -1
- data/bin/vvm +13 -0
- data/lib/vvm/accessor.rb +37 -0
- data/lib/vvm/cli.rb +78 -0
- data/lib/vvm/constants.rb +3 -0
- data/lib/vvm/ext/mkmf.rb +8 -0
- data/lib/vvm/installer.rb +83 -0
- data/lib/vvm/switcher.rb +18 -0
- data/lib/vvm/uninstaller.rb +23 -0
- data/lib/vvm/validator.rb +55 -0
- data/lib/vvm/version.rb +43 -0
- data/lib/vvm.rb +10 -0
- data/spec/accessor_spec.rb +40 -0
- data/spec/installer_spec.rb +19 -18
- data/spec/spec_helper.rb +3 -7
- data/spec/switcher_spec.rb +5 -5
- data/spec/uninstaller_spec.rb +6 -5
- data/spec/validator_spec.rb +13 -30
- data/spec/version_spec.rb +12 -12
- data/vvm-rb.gemspec +32 -32
- metadata +26 -26
- data/bin/vvm-rb +0 -14
- data/lib/vvm-rb/accesser.rb +0 -35
- data/lib/vvm-rb/base.rb +0 -19
- data/lib/vvm-rb/cli.rb +0 -101
- data/lib/vvm-rb/constants.rb +0 -1
- data/lib/vvm-rb/installer.rb +0 -68
- data/lib/vvm-rb/switcher.rb +0 -17
- data/lib/vvm-rb/uninstaller.rb +0 -21
- data/lib/vvm-rb/validator.rb +0 -44
- data/lib/vvm-rb/version.rb +0 -41
- data/lib/vvm-rb.rb +0 -13
- data/spec/accesser_spec.rb +0 -40
data/spec/uninstaller_spec.rb
CHANGED
@@ -5,8 +5,8 @@ describe 'Uninstaller' do
|
|
5
5
|
context 'vim version is currently used' do
|
6
6
|
before :all do
|
7
7
|
version = VERSION1
|
8
|
-
Switcher.new(version).use
|
9
|
-
@uninstaller = Uninstaller.new(version)
|
8
|
+
Vvm::Switcher.new(version).use
|
9
|
+
@uninstaller = Vvm::Uninstaller.new(version)
|
10
10
|
end
|
11
11
|
|
12
12
|
after :all do
|
@@ -21,15 +21,16 @@ describe 'Uninstaller' do
|
|
21
21
|
context 'can uninstall version' do
|
22
22
|
before :all do
|
23
23
|
@version = VERSION1
|
24
|
-
|
24
|
+
Vvm::Switcher.new('system').use
|
25
|
+
Vvm::Uninstaller.new(@version).uninstall
|
25
26
|
end
|
26
27
|
|
27
28
|
it 'delete src dir' do
|
28
|
-
expect(File.exist?(get_src_dir(@version))).not_to
|
29
|
+
expect(File.exist?(get_src_dir(@version))).not_to be_truthy
|
29
30
|
end
|
30
31
|
|
31
32
|
it 'delete vims dir' do
|
32
|
-
expect(File.exist?(get_vims_dir(@version))).not_to
|
33
|
+
expect(File.exist?(get_vims_dir(@version))).not_to be_truthy
|
33
34
|
end
|
34
35
|
end
|
35
36
|
end
|
data/spec/validator_spec.rb
CHANGED
@@ -1,41 +1,36 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
include VvmRb::Base
|
3
2
|
|
4
3
|
describe 'Validator' do
|
4
|
+
include Vvm::Validator
|
5
|
+
|
5
6
|
NEW_VERSION = 'v7-4-050'
|
6
7
|
|
7
8
|
describe 'has_hg?' do
|
8
|
-
def dummy_method ; end
|
9
|
-
before_method(:dummy_method) { has_hg? }
|
10
|
-
|
11
9
|
context 'hg is installed' do
|
12
|
-
before { Kernel.
|
10
|
+
before { allow(Kernel).to receive(:find_executable).and_return(true) }
|
13
11
|
|
14
12
|
it 'success to run the method' do
|
15
|
-
expect(
|
13
|
+
expect(has_hg?).to be_truthy
|
16
14
|
end
|
17
15
|
end
|
18
16
|
|
19
17
|
context 'hg is not installed' do
|
20
|
-
before { Kernel.
|
18
|
+
before { allow(Kernel).to receive(:find_executable).and_return(false) }
|
21
19
|
|
22
20
|
it 'cannot run the method' do
|
23
|
-
expect(proc {
|
21
|
+
expect(proc { has_hg? }).to raise_error
|
24
22
|
end
|
25
23
|
end
|
26
24
|
end
|
27
25
|
|
28
26
|
describe 'version?' do
|
29
|
-
def dummy_method ; end
|
30
|
-
before_method(:dummy_method) { version? }
|
31
|
-
|
32
27
|
before(:all) { $* << %w(vvm-rb install) }
|
33
28
|
|
34
29
|
context 'available tag' do
|
35
30
|
before { $*[2] = NEW_VERSION }
|
36
31
|
|
37
32
|
it 'success to run the method' do
|
38
|
-
expect(
|
33
|
+
expect(version?).to be_truthy
|
39
34
|
end
|
40
35
|
end
|
41
36
|
|
@@ -43,7 +38,7 @@ describe 'Validator' do
|
|
43
38
|
before { $*[2] = 'latest' }
|
44
39
|
|
45
40
|
it 'success to run the method' do
|
46
|
-
expect(
|
41
|
+
expect(version?).to be_truthy
|
47
42
|
end
|
48
43
|
end
|
49
44
|
|
@@ -51,47 +46,35 @@ describe 'Validator' do
|
|
51
46
|
before { $*[2] = '--use' }
|
52
47
|
|
53
48
|
it 'cannot run the method' do
|
54
|
-
expect(proc {
|
49
|
+
expect(proc { version? }).to raise_error
|
55
50
|
end
|
56
51
|
end
|
57
52
|
end
|
58
53
|
|
59
54
|
describe 'new_version?' do
|
60
|
-
def dummy_method ; end
|
61
|
-
|
62
55
|
context 'new version' do
|
63
|
-
before_method(:dummy_method) { new_version?(NEW_VERSION) }
|
64
|
-
|
65
56
|
it 'success to run the method' do
|
66
|
-
expect(
|
57
|
+
expect(new_version?(NEW_VERSION)).to be_truthy
|
67
58
|
end
|
68
59
|
end
|
69
60
|
|
70
61
|
context 'version is installed' do
|
71
|
-
before_method(:dummy_method) { new_version?(VERSION1) }
|
72
|
-
|
73
62
|
it 'cannot run the method' do
|
74
|
-
expect(proc {
|
63
|
+
expect(proc { new_version?(VERSION1) }).to raise_error
|
75
64
|
end
|
76
65
|
end
|
77
66
|
end
|
78
67
|
|
79
68
|
describe 'has_version?' do
|
80
|
-
def dummy_method ; end
|
81
|
-
|
82
69
|
context 'version is installed' do
|
83
|
-
before_method(:dummy_method) { has_version?(VERSION1) }
|
84
|
-
|
85
70
|
it 'success to run the method' do
|
86
|
-
expect(
|
71
|
+
expect(has_version?(VERSION1)).to be_truthy
|
87
72
|
end
|
88
73
|
end
|
89
74
|
|
90
75
|
context 'version is not installed' do
|
91
|
-
before_method(:dummy_method) { has_version?(NEW_VERSION) }
|
92
|
-
|
93
76
|
it 'cannot run the method' do
|
94
|
-
expect(proc {
|
77
|
+
expect(proc { has_version?(NEW_VERSION) }).to raise_error
|
95
78
|
end
|
96
79
|
end
|
97
80
|
end
|
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(/\Astart\n(v7-.+\n)+tip\z/)
|
8
|
+
expect(Vvm::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 "#{VERSION1}\n#{VERSION2}"
|
15
|
+
expect(Vvm::Version.versions.join("\n")).to eq "#{VERSION1}\n#{VERSION2}"
|
16
16
|
end
|
17
17
|
end
|
18
18
|
context 'vims dirctory is not found' do
|
@@ -28,36 +28,36 @@ describe 'Version' do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'echo nothing' do
|
31
|
-
expect(Version.versions).to eq []
|
31
|
+
expect(Vvm::Version.versions).to eq []
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
36
|
describe 'latest' do
|
37
37
|
it 'return latest vim version' do
|
38
|
-
expect(Version.latest).to match(/\Av7-.+\z/)
|
38
|
+
expect(Vvm::Version.latest).to match(/\Av7-.+\z/)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
42
|
describe 'current' do
|
43
43
|
context 'current version is system' do
|
44
|
-
before { Switcher.new('system').use }
|
44
|
+
before { Vvm::Switcher.new('system').use }
|
45
45
|
it 'return current vim version' do
|
46
|
-
expect(Version.current).to eq 'system'
|
46
|
+
expect(Vvm::Version.current).to eq 'system'
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
50
50
|
context 'current version is not system' do
|
51
|
-
before { Switcher.new(VERSION1).use }
|
51
|
+
before { Vvm::Switcher.new(VERSION1).use }
|
52
52
|
it 'return current vim version' do
|
53
|
-
expect(Version.current).to eq VERSION1
|
53
|
+
expect(Vvm::Version.current).to eq VERSION1
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
58
|
describe 'convert' do
|
59
59
|
it 'version to tag' do
|
60
|
-
expect(Version.convert('7.4.112')).to eq 'v7-4-112'
|
60
|
+
expect(Vvm::Version.convert('7.4.112')).to eq 'v7-4-112'
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -65,19 +65,19 @@ describe 'Version' do
|
|
65
65
|
|
66
66
|
context 'tag' do
|
67
67
|
it 'return formated vim version' do
|
68
|
-
expect(Version.format('v7-4-112')).to eq 'v7-4-112'
|
68
|
+
expect(Vvm::Version.format('v7-4-112')).to eq 'v7-4-112'
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
72
|
context 'dicimal version' do
|
73
73
|
it 'return formated vim version' do
|
74
|
-
expect(Version.format('7.4a.001')).to eq 'v7-4a-001'
|
74
|
+
expect(Vvm::Version.format('7.4a.001')).to eq 'v7-4a-001'
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
78
|
context 'latest' do
|
79
79
|
it 'return latest vim version' do
|
80
|
-
expect(Version.format('latest')).to match(/\Av7-.+\z/)
|
80
|
+
expect(Vvm::Version.format('latest')).to match(/\Av7-.+\z/)
|
81
81
|
end
|
82
82
|
end
|
83
83
|
end
|
data/vvm-rb.gemspec
CHANGED
@@ -2,19 +2,19 @@
|
|
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.
|
5
|
+
# stub: vvm-rb 1.0.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "vvm-rb"
|
9
|
-
s.version = "0.
|
9
|
+
s.version = "1.0.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 = "
|
14
|
+
s.date = "2015-02-20"
|
15
15
|
s.description = "vim version manager."
|
16
16
|
s.email = "s2g4t1n2@gmail.com"
|
17
|
-
s.executables = ["vvm
|
17
|
+
s.executables = ["vvm"]
|
18
18
|
s.extra_rdoc_files = [
|
19
19
|
"LICENSE.txt",
|
20
20
|
"README.rdoc"
|
@@ -30,19 +30,19 @@ Gem::Specification.new do |s|
|
|
30
30
|
"README.rdoc",
|
31
31
|
"Rakefile",
|
32
32
|
"VERSION",
|
33
|
-
"bin/vvm
|
33
|
+
"bin/vvm",
|
34
34
|
"etc/login",
|
35
|
-
"lib/vvm
|
36
|
-
"lib/vvm
|
37
|
-
"lib/vvm
|
38
|
-
"lib/vvm
|
39
|
-
"lib/vvm
|
40
|
-
"lib/vvm
|
41
|
-
"lib/vvm
|
42
|
-
"lib/vvm
|
43
|
-
"lib/vvm
|
44
|
-
"lib/vvm
|
45
|
-
"spec/
|
35
|
+
"lib/vvm.rb",
|
36
|
+
"lib/vvm/accessor.rb",
|
37
|
+
"lib/vvm/cli.rb",
|
38
|
+
"lib/vvm/constants.rb",
|
39
|
+
"lib/vvm/ext/mkmf.rb",
|
40
|
+
"lib/vvm/installer.rb",
|
41
|
+
"lib/vvm/switcher.rb",
|
42
|
+
"lib/vvm/uninstaller.rb",
|
43
|
+
"lib/vvm/validator.rb",
|
44
|
+
"lib/vvm/version.rb",
|
45
|
+
"spec/accessor_spec.rb",
|
46
46
|
"spec/installer_spec.rb",
|
47
47
|
"spec/spec_helper.rb",
|
48
48
|
"spec/switcher_spec.rb",
|
@@ -54,7 +54,7 @@ Gem::Specification.new do |s|
|
|
54
54
|
s.homepage = "http://github.com/calorie/vvm-rb"
|
55
55
|
s.licenses = ["MIT"]
|
56
56
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9")
|
57
|
-
s.rubygems_version = "2.
|
57
|
+
s.rubygems_version = "2.4.5"
|
58
58
|
s.summary = "vim version manager"
|
59
59
|
|
60
60
|
if s.respond_to? :specification_version then
|
@@ -62,28 +62,28 @@ Gem::Specification.new do |s|
|
|
62
62
|
|
63
63
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
64
64
|
s.add_runtime_dependency(%q<thor>, ["~> 0.19.1"])
|
65
|
-
s.add_development_dependency(%q<rspec>, ["~>
|
66
|
-
s.add_development_dependency(%q<rubocop>, ["~> 0.
|
67
|
-
s.add_development_dependency(%q<rdoc>, ["~> 4.1
|
68
|
-
s.add_development_dependency(%q<jeweler>, ["~> 2.0
|
69
|
-
s.add_development_dependency(%q<simplecov>, ["~> 0.
|
65
|
+
s.add_development_dependency(%q<rspec>, ["~> 3.0"])
|
66
|
+
s.add_development_dependency(%q<rubocop>, ["~> 0.25.0"])
|
67
|
+
s.add_development_dependency(%q<rdoc>, ["~> 4.1"])
|
68
|
+
s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
|
69
|
+
s.add_development_dependency(%q<simplecov>, ["~> 0.9.0"])
|
70
70
|
s.add_development_dependency(%q<coveralls>, ["~> 0.7.0"])
|
71
71
|
else
|
72
72
|
s.add_dependency(%q<thor>, ["~> 0.19.1"])
|
73
|
-
s.add_dependency(%q<rspec>, ["~>
|
74
|
-
s.add_dependency(%q<rubocop>, ["~> 0.
|
75
|
-
s.add_dependency(%q<rdoc>, ["~> 4.1
|
76
|
-
s.add_dependency(%q<jeweler>, ["~> 2.0
|
77
|
-
s.add_dependency(%q<simplecov>, ["~> 0.
|
73
|
+
s.add_dependency(%q<rspec>, ["~> 3.0"])
|
74
|
+
s.add_dependency(%q<rubocop>, ["~> 0.25.0"])
|
75
|
+
s.add_dependency(%q<rdoc>, ["~> 4.1"])
|
76
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
77
|
+
s.add_dependency(%q<simplecov>, ["~> 0.9.0"])
|
78
78
|
s.add_dependency(%q<coveralls>, ["~> 0.7.0"])
|
79
79
|
end
|
80
80
|
else
|
81
81
|
s.add_dependency(%q<thor>, ["~> 0.19.1"])
|
82
|
-
s.add_dependency(%q<rspec>, ["~>
|
83
|
-
s.add_dependency(%q<rubocop>, ["~> 0.
|
84
|
-
s.add_dependency(%q<rdoc>, ["~> 4.1
|
85
|
-
s.add_dependency(%q<jeweler>, ["~> 2.0
|
86
|
-
s.add_dependency(%q<simplecov>, ["~> 0.
|
82
|
+
s.add_dependency(%q<rspec>, ["~> 3.0"])
|
83
|
+
s.add_dependency(%q<rubocop>, ["~> 0.25.0"])
|
84
|
+
s.add_dependency(%q<rdoc>, ["~> 4.1"])
|
85
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
86
|
+
s.add_dependency(%q<simplecov>, ["~> 0.9.0"])
|
87
87
|
s.add_dependency(%q<coveralls>, ["~> 0.7.0"])
|
88
88
|
end
|
89
89
|
end
|
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.
|
4
|
+
version: 1.0.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:
|
11
|
+
date: 2015-02-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -30,70 +30,70 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '3.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rubocop
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.25.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.25.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rdoc
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 4.1
|
61
|
+
version: '4.1'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 4.1
|
68
|
+
version: '4.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jeweler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 2.0
|
75
|
+
version: '2.0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 2.0
|
82
|
+
version: '2.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: simplecov
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.9.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.9.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: coveralls
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -111,7 +111,7 @@ dependencies:
|
|
111
111
|
description: vim version manager.
|
112
112
|
email: s2g4t1n2@gmail.com
|
113
113
|
executables:
|
114
|
-
- vvm
|
114
|
+
- vvm
|
115
115
|
extensions: []
|
116
116
|
extra_rdoc_files:
|
117
117
|
- LICENSE.txt
|
@@ -127,19 +127,19 @@ files:
|
|
127
127
|
- README.rdoc
|
128
128
|
- Rakefile
|
129
129
|
- VERSION
|
130
|
-
- bin/vvm
|
130
|
+
- bin/vvm
|
131
131
|
- etc/login
|
132
|
-
- lib/vvm
|
133
|
-
- lib/vvm
|
134
|
-
- lib/vvm
|
135
|
-
- lib/vvm
|
136
|
-
- lib/vvm
|
137
|
-
- lib/vvm
|
138
|
-
- lib/vvm
|
139
|
-
- lib/vvm
|
140
|
-
- lib/vvm
|
141
|
-
- lib/vvm
|
142
|
-
- spec/
|
132
|
+
- lib/vvm.rb
|
133
|
+
- lib/vvm/accessor.rb
|
134
|
+
- lib/vvm/cli.rb
|
135
|
+
- lib/vvm/constants.rb
|
136
|
+
- lib/vvm/ext/mkmf.rb
|
137
|
+
- lib/vvm/installer.rb
|
138
|
+
- lib/vvm/switcher.rb
|
139
|
+
- lib/vvm/uninstaller.rb
|
140
|
+
- lib/vvm/validator.rb
|
141
|
+
- lib/vvm/version.rb
|
142
|
+
- spec/accessor_spec.rb
|
143
143
|
- spec/installer_spec.rb
|
144
144
|
- spec/spec_helper.rb
|
145
145
|
- spec/switcher_spec.rb
|
@@ -167,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
167
|
version: '0'
|
168
168
|
requirements: []
|
169
169
|
rubyforge_project:
|
170
|
-
rubygems_version: 2.
|
170
|
+
rubygems_version: 2.4.5
|
171
171
|
signing_key:
|
172
172
|
specification_version: 4
|
173
173
|
summary: vim version manager
|
data/bin/vvm-rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'vvm-rb'
|
5
|
-
require 'vvm-rb/cli'
|
6
|
-
rescue LoadError
|
7
|
-
require 'rubygems'
|
8
|
-
require 'vvm-rb'
|
9
|
-
require 'vvm-rb/cli'
|
10
|
-
end
|
11
|
-
|
12
|
-
include VvmRb
|
13
|
-
Cli.source_root(File.join(File.dirname(__FILE__), '..'))
|
14
|
-
Cli.start
|
data/lib/vvm-rb/accesser.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
module Accesser
|
2
|
-
module_function
|
3
|
-
|
4
|
-
def get_dot_dir
|
5
|
-
File.expand_path(ENV['VVMROOT'] || '~/.vvm-rb')
|
6
|
-
end
|
7
|
-
|
8
|
-
def get_etc_dir
|
9
|
-
File.join(get_dot_dir, 'etc')
|
10
|
-
end
|
11
|
-
|
12
|
-
def get_repos_dir
|
13
|
-
File.join(get_dot_dir, 'repos')
|
14
|
-
end
|
15
|
-
|
16
|
-
def get_src_dir(version = '')
|
17
|
-
File.join(get_dot_dir, 'src', version)
|
18
|
-
end
|
19
|
-
|
20
|
-
def get_vims_dir(version = '')
|
21
|
-
File.join(get_dot_dir, 'vims', version)
|
22
|
-
end
|
23
|
-
|
24
|
-
def get_vimorg_dir
|
25
|
-
File.join(get_repos_dir, 'vimorg')
|
26
|
-
end
|
27
|
-
|
28
|
-
def get_login_file
|
29
|
-
File.join(get_etc_dir, 'login')
|
30
|
-
end
|
31
|
-
|
32
|
-
def get_current_dir
|
33
|
-
File.join(get_vims_dir, 'current')
|
34
|
-
end
|
35
|
-
end
|
data/lib/vvm-rb/base.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
module VvmRb
|
2
|
-
module Base
|
3
|
-
def self.included(base)
|
4
|
-
base.extend(ClassMethods)
|
5
|
-
end
|
6
|
-
|
7
|
-
module ClassMethods
|
8
|
-
def before_method(*names)
|
9
|
-
names.each do |name|
|
10
|
-
m = instance_method(name)
|
11
|
-
define_method(name) do |*args, &block|
|
12
|
-
yield
|
13
|
-
m.bind(self).call(*args, &block)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/lib/vvm-rb/cli.rb
DELETED
@@ -1,101 +0,0 @@
|
|
1
|
-
require 'thor'
|
2
|
-
|
3
|
-
class Cli < Thor
|
4
|
-
include Thor::Actions
|
5
|
-
include VvmRb::Base
|
6
|
-
|
7
|
-
desc 'install [VERSION] [CONFIGURE_OPTS]', 'Install a specific version of Vim'
|
8
|
-
method_option :use, type: :boolean, aliases: '-u', banner: 'Use installed vim'
|
9
|
-
def install(version, *conf)
|
10
|
-
i = Installer.new(Version.format(version), conf)
|
11
|
-
i.checkout
|
12
|
-
i.configure
|
13
|
-
i.make_install
|
14
|
-
Installer.cp_etc
|
15
|
-
|
16
|
-
invoke :use, [version], {} if options[:use]
|
17
|
-
|
18
|
-
message if $?.success?
|
19
|
-
end
|
20
|
-
|
21
|
-
desc 'update', 'Update to latest version of Vim'
|
22
|
-
def update
|
23
|
-
current = Version.current
|
24
|
-
if current == 'system'
|
25
|
-
run 'vvm-rb install --use latest'
|
26
|
-
run 'vvm-rb use system' unless $?.success?
|
27
|
-
else
|
28
|
-
run 'vvm-rb use system'
|
29
|
-
run 'vvm-rb install --use latest'
|
30
|
-
action = $?.success? ? 'uninstall' : 'use'
|
31
|
-
run "vvm-rb #{action} #{current}"
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
desc 'reinstall [VERSION] [CONFIGURE_OPTS]', 'Reinstall a specific version'
|
36
|
-
def reinstall(version, *conf)
|
37
|
-
invoke :uninstall, [version]
|
38
|
-
invoke :install, [version, *conf]
|
39
|
-
end
|
40
|
-
|
41
|
-
desc 'rebuild [VERSION] [CONFIGURE_OPTS]', 'Rebuild a specific version of Vim'
|
42
|
-
def rebuild(version, *conf)
|
43
|
-
r = Installer.new(Version.format(version), conf)
|
44
|
-
r.make_clean
|
45
|
-
r.configure
|
46
|
-
r.make_install
|
47
|
-
end
|
48
|
-
|
49
|
-
desc 'use [VERSION]', 'Use a specific version of Vim as the default one.'
|
50
|
-
def use(version)
|
51
|
-
Switcher.new(Version.format(version)).use
|
52
|
-
end
|
53
|
-
|
54
|
-
desc 'list', 'Look available versions of Vim.'
|
55
|
-
def list
|
56
|
-
puts Version.list.join("\n")
|
57
|
-
end
|
58
|
-
|
59
|
-
desc 'versions', 'Look installed versions of Vim.'
|
60
|
-
def versions
|
61
|
-
puts Version.versions.join("\n")
|
62
|
-
end
|
63
|
-
|
64
|
-
desc 'uninstall [VERSION]', 'Uninstall a specific version of Vim.'
|
65
|
-
def uninstall(version)
|
66
|
-
Uninstaller.new(Version.format(version)).uninstall
|
67
|
-
end
|
68
|
-
|
69
|
-
private
|
70
|
-
|
71
|
-
def message
|
72
|
-
print "\e[32m"
|
73
|
-
puts <<-EOS
|
74
|
-
|
75
|
-
Vim is successfully installed. For daily use,
|
76
|
-
please add the following line into your ~/.bash_login etc:
|
77
|
-
|
78
|
-
test -f ~/.vvm-rb/etc/login && source ~/.vvm-rb/etc/login
|
79
|
-
|
80
|
-
EOS
|
81
|
-
print "\e[0m"
|
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
|
101
|
-
end
|
data/lib/vvm-rb/constants.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
VIM_URI = 'https://vim.googlecode.com/hg/'
|