dorian-dot 0.7.3 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dot +20 -5
  3. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3c5393592602da9d46159e4ab405df0230eef272d12bbd4f6de523a78f0b30ca
4
- data.tar.gz: cc917fc1bb49500c758aacf200f608195fde6c8d1062b7ac8339f3c2d04c61f6
3
+ metadata.gz: c3a53c2ad14f0d331c6a7347c67c355130420674aa0cf7f63a4d8dd594f37f9d
4
+ data.tar.gz: 0e0c016ba3151a50f7dddbbf3361fbe8b39835a45a29f6025d61cab9586e3d47
5
5
  SHA512:
6
- metadata.gz: a34a607f96a6385e313651e6ad222360e0d4c57112d39da6a7bde16ac64c604d7e950e2012e9b2cf7d57da99f48a13afa2b3f8748bd938598dc687fac6432b32
7
- data.tar.gz: 92f81ffd072c3695b4ad32f190e9f80760684e7faff683bbccb0194ca88f54038f8da20de6a7b404c2f3585893177e4efa9b9c765d7daec9438c99cab282f93c
6
+ metadata.gz: dbe9864af8ec8753a95b2642cdce8c8dc0b20b2cd0adee9de6c914507511a9022c75df97c4aba704cb7a3555b2424b7146f41997fb89284f1d11b40e67563cac
7
+ data.tar.gz: dbf280311a51baa1c0d521b5e8271a303c88bc4d9577e39087d7f5d6bd0d4dac265656a14f979bd999fdb0954722a89ec2ceb69122ce37666cd8864ad5cd1f3e
data/bin/dot CHANGED
@@ -1,14 +1,29 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
+ require "dorian/arguments"
4
5
  require "fileutils"
5
6
  require "git"
6
7
 
7
- if ARGV.size != 1 || ARGV.first == "--help" || ARGV,first == "-h"
8
- abort "USAGE: dot DIRECTORY"
8
+ parsed =
9
+ Dorian::Arguments.parse(
10
+ version: {
11
+ alias: :v
12
+ },
13
+ help: {
14
+ alias: :h
15
+ }
16
+ )
17
+
18
+ abort parsed.help if parsed.options.help
19
+
20
+ if parsed.options.version
21
+ abort File.read(File.expand_path("../../VERSION", __FILE__))
9
22
  end
10
23
 
11
- IGNORE_FILE = File.expand_path("#{ARGV.first.chomp("/")}/.dotignore")
24
+ DIR = parsed.files.first || parsed.arguments.first || "."
25
+
26
+ IGNORE_FILE = File.expand_path("#{DIR.chomp("/")}/.dotignore")
12
27
  IGNORE_CONTENT = File.exist?(IGNORE_FILE) ? File.read(IGNORE_FILE) : ""
13
28
 
14
29
  IGNORE_PATTERNS =
@@ -23,14 +38,14 @@ def ignore?(path)
23
38
  end
24
39
 
25
40
  Git
26
- .open(ARGV.first)
41
+ .open(DIR)
27
42
  .ls_files
28
43
  .map(&:first)
29
44
  .each do |file|
30
45
  next if ignore?(file)
31
46
 
32
47
  homefile = "#{Dir.home}/#{file}"
33
- dotfile = File.expand_path("#{ARGV.first.chomp("/")}/#{file}")
48
+ dotfile = File.expand_path("#{DIR.chomp("/")}/#{file}")
34
49
  File.delete(homefile) if File.exist?(homefile) || File.symlink?(homefile)
35
50
  FileUtils.mkdir_p(File.dirname(homefile))
36
51
  FileUtils.ln_s(dotfile, homefile, verbose: true)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-dot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-18 00:00:00.000000000 Z
11
+ date: 2024-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: git
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: dorian-arguments
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: links dot files
28
42
  email: dorian@dorianmarie.com
29
43
  executables: