dotman 0.0.3.1 → 0.0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/dot +11 -3
- data/lib/dotman/dotfile_collection.rb +9 -0
- data/lib/dotman/user.rb +6 -0
- data/lib/dotman/version.rb +1 -1
- data/spec/integration/dotfile_collection_integration_spec.rb +34 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba09c98df605af2940299b8b47265c7654bbbd80
|
4
|
+
data.tar.gz: b3f1df8ed7ffc5149b44106aa715e153445a592b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7737e0f1283d0de789bb5c1b1509dc673615702d9a6faac32f260e316b7f61d88921dd29abccd7410decb1060d5266774f8741c568ab2220472043d78c0db72c
|
7
|
+
data.tar.gz: 307dc3144004e4e915c07d4d3636d5c4955b293c5c3933888833df07f8eecd43da4d41956c121283fb3305ad73943c673b8d67de93e8d6f1c0fda0115c4b5c59
|
data/bin/dot
CHANGED
@@ -14,11 +14,19 @@ when 'collect'
|
|
14
14
|
Dotman::Collect.new.create_dotman
|
15
15
|
when 'list'
|
16
16
|
Dotman::DotfileCollection.show_all_aliases
|
17
|
+
when 'alias'
|
18
|
+
if ARGV[1] == 'change'
|
19
|
+
Dotman::DotfileCollection.change_alias(ARGV[2], ARGV[3])
|
20
|
+
elsif ARGV[1] == 'list'
|
21
|
+
Dotman::DotfileCollection.show_all_aliases
|
22
|
+
end
|
17
23
|
else
|
18
24
|
puts "USAGE:\n
|
19
|
-
dot clone git_repository alias : clone the dotfiles repo\n
|
20
|
-
dot use alias : use the dotfiles\n
|
25
|
+
dot clone <git_repository> <alias> : clone the dotfiles repo\n
|
26
|
+
dot use <alias> : use the dotfiles\n
|
27
|
+
dot list : lists all downloaded dotfile aliases\n
|
21
28
|
dot use default : switch to the default dot files\n
|
22
29
|
dot collect : collects all dot files within a directory called dotfiles\n
|
23
|
-
dot
|
30
|
+
dot alias change <old alias> <new alias> : changes alias from old to new\n
|
31
|
+
dot alias list : same as dot list"
|
24
32
|
end
|
@@ -36,6 +36,15 @@ DOTFILES_PATH = "#{ENV['HOME']}/.dotman/dotfiles.yml"
|
|
36
36
|
STDOUT.puts all_aliases.join("\n")
|
37
37
|
end
|
38
38
|
|
39
|
+
def self.change_alias(old_alias, new_alias)
|
40
|
+
dotfiles_yaml[new_alias] = dotfiles_yaml[old_alias]
|
41
|
+
dotfiles_yaml.delete(old_alias)
|
42
|
+
if Dotman::User.current_user_alias == old_alias
|
43
|
+
Dotman::User.set_current_user(new_alias)
|
44
|
+
end
|
45
|
+
save_dotfile_yaml
|
46
|
+
end
|
47
|
+
|
39
48
|
def all_dotfiles
|
40
49
|
Dir.entries("#{Dotman::Base.dotman_folder}/#{@yaml['folder_name']}").select{|x| x =~ /\.{1}\w+[^git]/ }
|
41
50
|
end
|
data/lib/dotman/user.rb
CHANGED
@@ -57,6 +57,12 @@ module Dotman
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
+
def self.set_current_user(alias_name)
|
61
|
+
File.open(Dotman::Base.current_dotman, 'w') do |f|
|
62
|
+
f.write(alias_name)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
60
66
|
|
61
67
|
def self.current_user_alias
|
62
68
|
File.open(Dotman::Base.current_dotman).read.strip
|
data/lib/dotman/version.rb
CHANGED
@@ -32,4 +32,38 @@ describe Dotman::DotfileCollection do
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
35
|
+
|
36
|
+
describe ".change_alias" do
|
37
|
+
context "when alias exists" do
|
38
|
+
it "adds the alias to the desired new alias name" do
|
39
|
+
Dotman::Base.ensure_current_dotman_file_exists
|
40
|
+
Dotman::DotfileCollection.change_alias('tim', 'frank')
|
41
|
+
YAML::load_file("#{ENV['HOME']}/.dotman/dotfiles.yml").should include('frank')
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'removes the old alias from the yaml file' do
|
45
|
+
Dotman::Base.ensure_current_dotman_file_exists
|
46
|
+
Dotman::DotfileCollection.change_alias('tim', 'frank')
|
47
|
+
YAML::load_file("#{ENV['HOME']}/.dotman/dotfiles.yml").should_not include('tim')
|
48
|
+
end
|
49
|
+
|
50
|
+
context "current user is set to changing alias" do
|
51
|
+
it 'sets the current alias to the new name' do
|
52
|
+
File.open(Dotman::Base.current_dotman, 'w') { |f| f.write('tim') }
|
53
|
+
Dotman::User.current_user_alias.should == 'tim'
|
54
|
+
Dotman::DotfileCollection.change_alias('tim', 'frank')
|
55
|
+
Dotman::User.current_user_alias.should == 'frank'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
context "current user is not set to changing alias" do
|
60
|
+
it 'does not set the current alias to the new name' do
|
61
|
+
File.open(Dotman::Base.current_dotman, 'w') { |f| f.write('default') }
|
62
|
+
Dotman::User.current_user_alias.should == 'default'
|
63
|
+
Dotman::DotfileCollection.change_alias('tim', 'frank')
|
64
|
+
Dotman::User.current_user_alias.should == 'default'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
35
69
|
end
|