dotman-bin 2.0.3 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bbc499a53d21be671c68e1c87672d5e6e76eff4f278572b58511c1a08a4b8953
4
- data.tar.gz: 5d0cbd3cdfaad20dc5c264860f680e2dcea2e1aab26319f5f3b506076cac799a
3
+ metadata.gz: b7996be636ad86d7132d39ea51e97d8de901130f5a3366c11f36ff0a1f8b7e07
4
+ data.tar.gz: a178d6482f4cc1b80dbf5f8b0886f3d137acfcce0f64b330638f8ecce8932528
5
5
  SHA512:
6
- metadata.gz: 6efaf3e3734b95a796d4274a4a4ff986c63ef28512944e712357c3d539a69b3d0ccc870213b9267ea83c40b5468e24f7e3a03fd3bfeea10f683abc1c84b94e91
7
- data.tar.gz: 7a7f73bb7dfffd5925f15b54a22557565ba0fa59e1807ca7a1c900f8f202431b0e8c18823de661d752d57664a2215a952f7fd68f25433fb586cd5e98df2ca197
6
+ metadata.gz: 2c82ef0087598bff8cbc4f94fdf47cd5d3f249a5b3d97d6c6644eeaf682e9b3a22d3529426333a174a6bdba1a0f276817448f04da3c9226334f33b5ff22de65a
7
+ data.tar.gz: 557fd72ffbfa49a9cf15a64c9502d61fd06bb1859f847a1c3ea5dc681bb7a44e245abfc8a1ce0b527490f97b684a83066378b07ec4464f3388fc0e2a28972f4d
data/bin/dotman CHANGED
@@ -6,38 +6,44 @@ class Main
6
6
  DOTFILE = 'Dotfile'
7
7
 
8
8
  def self.run(opts)
9
+ if opts['--version']
10
+ puts VERSION
11
+ exit
12
+ end
13
+
9
14
  unless File.exist?(DOTFILE)
10
15
  puts 'Dotfile not found'.red
11
16
  exit 1
12
17
  end
13
18
 
14
19
  class << Dotfile
15
- load DOTFILE
20
+ load(DOTFILE)
16
21
  end
17
22
 
18
23
  env = {
19
24
  base: opts['--base'],
20
- home: opts['--home']
25
+ home: opts['--home'],
21
26
  }
22
27
 
23
28
  puts Dotfile.to_script(env)
24
29
  end
25
30
  end
26
31
 
27
- docs = <<~EOF
28
- #{'Usage:'.bold}
29
- dotman [ --home=PATH ] --base=PATH build
32
+ usage = <<~EOF
33
+ Usage:
34
+ dotman [--home PATH] --base PATH build
35
+ dotman ( --version | --help )
30
36
 
31
- #{'Options:'.bold}
32
- -b, --base=PATH Directory from where configuration files should be sourced
33
- --home=PATH Directory where symlinks should be placed [default: $HOME]
37
+ Options:
38
+ -b, --base PATH Directory from where configuration files should be sourced
39
+ --home PATH Directory where symlinks should be placed [default: $HOME]
34
40
  -v, --version Show version
35
41
  -h, --help Show this help
36
42
  EOF
37
43
 
38
44
  begin
39
- Main.run(Docopt::docopt(docs, version: VERSION))
40
- rescue Docopt::Exit => e
41
- puts e.message
42
- exit 1
45
+ Main.run(Docopt.docopt(usage))
46
+ rescue Docopt::Exit
47
+ puts usage
48
+ exit 2
43
49
  end
@@ -20,10 +20,12 @@ module Dotman::Action
20
20
 
21
21
  def die
22
22
  Shell.block([
23
- Shell.echo(:red, 'One or more core environment variables is missing; cannot continue.'),
24
- Shell.exit(1)
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
@@ -1,7 +1,8 @@
1
1
  module Dotman::Action
2
2
  class Link
3
3
  def initialize(from, to)
4
- @from, @to = from, to
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, :to
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 Shell.command('mkdir --parents $HOME_DIR/%s' % dirname)
37
+ block.prepend(Shell.command('mkdir --parents $HOME_DIR/%s' % dirname))
36
38
  end
37
39
 
38
40
  Shell.block(block)
@@ -1,7 +1,9 @@
1
1
  module Dotman::Check
2
2
  class Host
3
3
  def initialize(aliases, hosts, include: true)
4
- @aliases, @hosts, @include = aliases, hosts, include
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
- if @include then :or else :and end
16
+ @include ? :or : :and
15
17
  end
16
18
 
17
19
  def comparison_operator
18
- if @include then '=' else '!=' end
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, @host_aliases = [], {}
4
+ @actions = []
5
+ @host_aliases = {}
5
6
  end
6
7
 
7
8
  def link(from, to: nil, **args)
8
- add_action Action::Link.new(from, to), args
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(operand1, operator, operand2 = nil)
4
- @operand1, @operator, @operand2 = operand1, operator, operand2
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 @operand2.nil?
9
- '[ %s "%s" ]' % [@operator, @operand1]
10
+ if @operand_2.nil?
11
+ '[ %s "%s" ]' % [@operator, @operand_1]
10
12
  else
11
- '[ "%s" %s "%s" ]' % [ @operand1, @operator, @operand2 ]
13
+ '[ "%s" %s "%s" ]' % [@operand_1, @operator, @operand_2]
12
14
  end
13
15
  end
14
16
  end
@@ -26,4 +26,3 @@ module Dotman::Shell
26
26
  end
27
27
  end
28
28
  end
29
-
@@ -1,3 +1,3 @@
1
1
  module Dotman
2
- VERSION = "2.0.3"
2
+ VERSION = '2.0.7'
3
3
  end
data/lib/dotman.rb CHANGED
@@ -8,7 +8,7 @@ require 'socket'
8
8
 
9
9
  module Dotman
10
10
  def self.root_dir
11
- File.expand_path('../..', __FILE__)
11
+ File.expand_path('..', __dir__)
12
12
  end
13
13
  end
14
14
 
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.3
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - crdx
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-20 00:00:00.000000000 Z
11
+ date: 2021-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: require_all
14
+ name: colorize
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.0'
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: '3.0'
26
+ version: 0.8.1
27
27
  - !ruby/object:Gem::Dependency
28
- name: colorize
28
+ name: docopt
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.8.1
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.8.1
40
+ version: 0.6.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: docopt
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.6.1
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.6.1
54
+ version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: simplecov
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.21.0
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: 0.21.0
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: rake
84
+ name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '13.0'
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: '13.0'
96
+ version: 0.21.0
97
97
  description:
98
98
  email:
99
99
  executables:
@@ -118,7 +118,8 @@ files:
118
118
  homepage: https://github.com/crdx/dotman
119
119
  licenses:
120
120
  - MIT
121
- metadata: {}
121
+ metadata:
122
+ rubygems_mfa_required: 'true'
122
123
  post_install_message:
123
124
  rdoc_options: []
124
125
  require_paths:
@@ -127,14 +128,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
128
  requirements:
128
129
  - - ">="
129
130
  - !ruby/object:Gem::Version
130
- version: '0'
131
+ version: '3.0'
131
132
  required_rubygems_version: !ruby/object:Gem::Requirement
132
133
  requirements:
133
134
  - - ">="
134
135
  - !ruby/object:Gem::Version
135
136
  version: '0'
136
137
  requirements: []
137
- rubygems_version: 3.2.21
138
+ rubygems_version: 3.2.29
138
139
  signing_key:
139
140
  specification_version: 4
140
141
  summary: Manage dotfiles