lace 0.4.0 → 0.4.1
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 +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
|