lace 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/extend/pathname.rb +6 -2
- data/lib/lace/package/facts.rb +9 -7
- data/lib/lace/package/package.rb +21 -4
- data/lib/lace/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OTg2ZTcyYWQ2YjgxYzNiZGJmNzY5NmI0ZjBjOTU4MTZlOTQ0N2VmNQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZDNlNTI0ZjAzZjNjNTJjZTVmMTAyY2IzYzU1ZjM1NGIzYjI5OGExMA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NTc1NDk0YTZjYTY3YjRjMjRiM2M1MTkxZGZkMTRmZGMyMDVjMzdmOTFiNWU2
|
10
|
+
MzIzNWZkODNmMzE4NzI1MjZmYThhODYwNTFkZmMzYTZiM2NmYWUyZWEyNmIy
|
11
|
+
ZjE0ODNlMzg0YTVkYjQyMTk0M2RjMmQxNWY0Zjk5MzNkNTNkNjg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzNmNWRlYzVlMjNkZDA1NjczYmU4ZDQ0YjAzZjUyZTU4NTQ5MmU2MGRmNGI0
|
14
|
+
NGJiMDI5ZDQ4NTE2ZTI1YWI3OWNjNTY4MTJhZjQ2YTJlOTMyNjllMDAyOTc1
|
15
|
+
YTc3Mjk5MGIyOGFjNTMzOWMxNTM5NTkxMzVjMTMyMmZlZGZhMzI=
|
data/lib/extend/pathname.rb
CHANGED
@@ -90,8 +90,12 @@ class Pathname
|
|
90
90
|
join that.to_s
|
91
91
|
end
|
92
92
|
|
93
|
-
def
|
94
|
-
Pathname.new File.join(
|
93
|
+
def as_backup
|
94
|
+
Pathname.new File.join(dirname, "#{basename}.lace.bak")
|
95
|
+
end
|
96
|
+
|
97
|
+
def as_dotfile base_folder, subtract
|
98
|
+
Pathname.new File.join(base_folder, ".#{to_path.gsub(subtract, "")[1..-1]}")
|
95
99
|
end
|
96
100
|
|
97
101
|
end
|
data/lib/lace/package/facts.rb
CHANGED
@@ -25,13 +25,15 @@ class PackageFacts
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def config_files
|
28
|
-
if
|
29
|
-
[]
|
30
|
-
else
|
28
|
+
if has_config_files?
|
31
29
|
@facts["config_files"].flatten.map do |file|
|
32
|
-
@package_path + file
|
33
|
-
end
|
34
|
-
end
|
30
|
+
Pathname.glob(@package_path + file)
|
31
|
+
end.flatten
|
32
|
+
else [] end
|
33
|
+
end
|
34
|
+
|
35
|
+
def has_config_files?
|
36
|
+
has_key? 'config_files'
|
35
37
|
end
|
36
38
|
|
37
39
|
def has_flavors?
|
@@ -39,7 +41,7 @@ class PackageFacts
|
|
39
41
|
end
|
40
42
|
|
41
43
|
def has_key? key
|
42
|
-
@unflavorable_facts && @unflavorable_facts.has_key?(key)
|
44
|
+
@unflavorable_facts && ( @unflavorable_facts.has_key?(key) or @facts.has_key?(key))
|
43
45
|
end
|
44
46
|
|
45
47
|
def version
|
data/lib/lace/package/package.rb
CHANGED
@@ -65,17 +65,34 @@ class Package
|
|
65
65
|
home_dir = ENV["HOME"]
|
66
66
|
files.each do |file|
|
67
67
|
file = Pathname.new(file)
|
68
|
-
dotfile = file.as_dotfile(home_dir)
|
68
|
+
dotfile = file.as_dotfile(home_dir, @path)
|
69
69
|
FileUtils.rm_f dotfile if dotfile.exist? && dotfile.readlink == file
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
73
|
def activate!
|
74
74
|
files = @facts.config_files
|
75
|
-
home_dir = ENV["HOME"]
|
76
75
|
files.each do |file|
|
77
|
-
|
78
|
-
|
76
|
+
link_file file
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def link_file file
|
81
|
+
home_dir = ENV["HOME"]
|
82
|
+
# if ends in erb -> generate it
|
83
|
+
src = file
|
84
|
+
dest = src.as_dotfile(home_dir, @path)
|
85
|
+
if src.exist? && dest.exist? && dest.directory? && ARGV.force?
|
86
|
+
FileUtils.mv dest, dest.as_backup
|
79
87
|
end
|
88
|
+
link_file_or_directory src, dest
|
80
89
|
end
|
90
|
+
|
91
|
+
def link_file_or_directory(src, dest)
|
92
|
+
if !dest.dirname.exist?
|
93
|
+
dest.dirname.mkpath
|
94
|
+
end
|
95
|
+
FileUtils.ln_s src, dest, :force => ARGV.force?
|
96
|
+
end
|
97
|
+
|
81
98
|
end
|
data/lib/lace/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kai Richard Koenig
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Lace lets you manage your dotfiles when using them on multiple machines
|
14
14
|
email: kai@kairichardkoenig.de
|
@@ -17,7 +17,6 @@ executables:
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
-
- bin/lace
|
21
20
|
- lib/cmd/activate.rb
|
22
21
|
- lib/cmd/deactivate.rb
|
23
22
|
- lib/cmd/fetch.rb
|
@@ -31,15 +30,16 @@ files:
|
|
31
30
|
- lib/cmd/validate.rb
|
32
31
|
- lib/extend/ARGV.rb
|
33
32
|
- lib/extend/pathname.rb
|
34
|
-
- lib/lace.rb
|
35
33
|
- lib/lace/download_strategy.rb
|
36
34
|
- lib/lace/exceptions.rb
|
37
|
-
- lib/lace/package.rb
|
38
35
|
- lib/lace/package/facts.rb
|
39
36
|
- lib/lace/package/package.rb
|
40
37
|
- lib/lace/package/utils.rb
|
38
|
+
- lib/lace/package.rb
|
41
39
|
- lib/lace/utils.rb
|
42
40
|
- lib/lace/version.rb
|
41
|
+
- lib/lace.rb
|
42
|
+
- bin/lace
|
43
43
|
homepage: https://github.com/kairichard/lace
|
44
44
|
licenses:
|
45
45
|
- MIT
|
@@ -60,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
60
60
|
version: '0'
|
61
61
|
requirements: []
|
62
62
|
rubyforge_project:
|
63
|
-
rubygems_version: 2.
|
63
|
+
rubygems_version: 2.1.11
|
64
64
|
signing_key:
|
65
65
|
specification_version: 4
|
66
66
|
summary: Manage your .dotfiles
|