dotman-bin 2.0.3 → 2.0.7

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 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