dotman-bin 2.0.5 → 2.0.6
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/bin/dotman +4 -4
- data/lib/dotman/actions/init.rb +5 -3
- data/lib/dotman/actions/link.rb +5 -3
- data/lib/dotman/checks/host.rb +5 -3
- data/lib/dotman/dotfile_configuration.rb +3 -2
- data/lib/dotman/shell/comparison.rb +7 -5
- data/lib/dotman/shell/statement.rb +0 -1
- data/lib/dotman/version.rb +1 -1
- data/lib/dotman.rb +1 -1
- metadata +18 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e040669df8d4c6492ca9f78cfbaecb6987dfa1d28241240d616c25de3c37aa11
|
4
|
+
data.tar.gz: c74852d468f683f311c708b5942e8a9ead9553e9746a8844f74b7bcab919f966
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9810d4dfea1d9db3be7762b093100062513d93d0a3240c6f477781be92ec3eb513ea060174cb8f540331daf8b1464473eaaa49276a00cb26cea38dc0a61f271d
|
7
|
+
data.tar.gz: ded3e5c92df6aa005cb2d09675fdf04b21d76b64a72e6fa6b2809f97abdc14bc658da11acd2fb469acf2f7fbd788fc806ae88d39370cc5698675e373fb7cbf67
|
data/bin/dotman
CHANGED
@@ -17,12 +17,12 @@ class Main
|
|
17
17
|
end
|
18
18
|
|
19
19
|
class << Dotfile
|
20
|
-
load
|
20
|
+
load(DOTFILE)
|
21
21
|
end
|
22
22
|
|
23
23
|
env = {
|
24
24
|
base: opts['--base'],
|
25
|
-
home: opts['--home']
|
25
|
+
home: opts['--home'],
|
26
26
|
}
|
27
27
|
|
28
28
|
puts Dotfile.to_script(env)
|
@@ -42,8 +42,8 @@ usage = <<~EOF
|
|
42
42
|
EOF
|
43
43
|
|
44
44
|
begin
|
45
|
-
Main.run(Docopt
|
46
|
-
rescue Docopt::Exit
|
45
|
+
Main.run(Docopt.docopt(usage))
|
46
|
+
rescue Docopt::Exit
|
47
47
|
puts usage
|
48
48
|
exit 2
|
49
49
|
end
|
data/lib/dotman/actions/init.rb
CHANGED
@@ -20,10 +20,12 @@ module Dotman::Action
|
|
20
20
|
|
21
21
|
def die
|
22
22
|
Shell.block([
|
23
|
-
Shell.echo(
|
24
|
-
|
23
|
+
Shell.echo(
|
24
|
+
:red,
|
25
|
+
'One or more core environment variables is missing; cannot continue.',
|
26
|
+
),
|
27
|
+
Shell.exit(1),
|
25
28
|
])
|
26
29
|
end
|
27
|
-
|
28
30
|
end
|
29
31
|
end
|
data/lib/dotman/actions/link.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
module Dotman::Action
|
2
2
|
class Link
|
3
3
|
def initialize(from, to)
|
4
|
-
@from
|
4
|
+
@from = from
|
5
|
+
@to = to
|
5
6
|
end
|
6
7
|
|
7
8
|
def to_statement
|
@@ -10,7 +11,8 @@ module Dotman::Action
|
|
10
11
|
|
11
12
|
private
|
12
13
|
|
13
|
-
attr_reader :from
|
14
|
+
attr_reader :from
|
15
|
+
attr_reader :to
|
14
16
|
|
15
17
|
def pair
|
16
18
|
[from, to]
|
@@ -32,7 +34,7 @@ module Dotman::Action
|
|
32
34
|
|
33
35
|
dirname = File.dirname(pair[1])
|
34
36
|
if dirname != '.'
|
35
|
-
block.prepend
|
37
|
+
block.prepend(Shell.command('mkdir --parents $HOME_DIR/%s' % dirname))
|
36
38
|
end
|
37
39
|
|
38
40
|
Shell.block(block)
|
data/lib/dotman/checks/host.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
module Dotman::Check
|
2
2
|
class Host
|
3
3
|
def initialize(aliases, hosts, include: true)
|
4
|
-
@aliases
|
4
|
+
@aliases = aliases
|
5
|
+
@hosts = hosts
|
6
|
+
@include = include
|
5
7
|
end
|
6
8
|
|
7
9
|
def to_comparison
|
@@ -11,11 +13,11 @@ module Dotman::Check
|
|
11
13
|
private
|
12
14
|
|
13
15
|
def condition_operator
|
14
|
-
|
16
|
+
@include ? :or : :and
|
15
17
|
end
|
16
18
|
|
17
19
|
def comparison_operator
|
18
|
-
|
20
|
+
@include ? '=' : '!='
|
19
21
|
end
|
20
22
|
|
21
23
|
def compare(host)
|
@@ -1,11 +1,12 @@
|
|
1
1
|
module Dotman
|
2
2
|
class DotfileConfiguration
|
3
3
|
def initialize
|
4
|
-
@actions
|
4
|
+
@actions = []
|
5
|
+
@host_aliases = {}
|
5
6
|
end
|
6
7
|
|
7
8
|
def link(from, to: nil, **args)
|
8
|
-
add_action
|
9
|
+
add_action(Action::Link.new(from, to), args)
|
9
10
|
end
|
10
11
|
|
11
12
|
def to_script(env)
|
@@ -1,14 +1,16 @@
|
|
1
1
|
module Dotman::Shell
|
2
2
|
class Comparison
|
3
|
-
def initialize(
|
4
|
-
@
|
3
|
+
def initialize(operand_1, operator, operand_2 = nil)
|
4
|
+
@operand_1 = operand_1
|
5
|
+
@operator = operator
|
6
|
+
@operand_2 = operand_2
|
5
7
|
end
|
6
8
|
|
7
9
|
def to_s
|
8
|
-
if @
|
9
|
-
'[ %s "%s" ]' % [@operator, @
|
10
|
+
if @operand_2.nil?
|
11
|
+
'[ %s "%s" ]' % [@operator, @operand_1]
|
10
12
|
else
|
11
|
-
'[ "%s" %s "%s" ]' % [
|
13
|
+
'[ "%s" %s "%s" ]' % [@operand_1, @operator, @operand_2]
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
data/lib/dotman/version.rb
CHANGED
data/lib/dotman.rb
CHANGED
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dotman-bin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- crdx
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: colorize
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.8.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.8.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: docopt
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.6.1
|
34
34
|
type: :runtime
|
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: 0.
|
40
|
+
version: 0.6.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: require_all
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
47
|
+
version: '3.0'
|
48
48
|
type: :runtime
|
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: '3.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '13.0'
|
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:
|
68
|
+
version: '13.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,19 +81,19 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '3.8'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: simplecov
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 0.21.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:
|
96
|
+
version: 0.21.0
|
97
97
|
description:
|
98
98
|
email:
|
99
99
|
executables:
|
@@ -127,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
127
|
requirements:
|
128
128
|
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '0'
|
130
|
+
version: '3.0'
|
131
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
132
|
requirements:
|
133
133
|
- - ">="
|