vvm-rb 0.2.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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/'
|