dorian-dot 0.7.4 → 1.0.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 +12 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ca56eaf57e83d6fd651891cd7c4e2812750a4d931cb15526d11cd6951b9bd88
4
- data.tar.gz: add414c52873c05a4629aa640441d02d5290e6224379f40f05a5e5dd699f6ddd
3
+ metadata.gz: bb5c82026d417045e26dccb6586ca243faf6e9b20e44a8b37595361436cb553e
4
+ data.tar.gz: 94602242ca2f14e22b277412890407fa387fb4b525678da53ead00d08e6d4b09
5
5
  SHA512:
6
- metadata.gz: 0bb861430326df211f2f1493d4a60339ef019c8f1f0ca3c8ebfd24ceff99d238622f59d5cadf43479e8d39e2103cb308d0f4c011495dd310d46207d9902fbfea
7
- data.tar.gz: 16dc06151d5b5dec76df67210fc800730d9398c7adac13697103346d0e2466d945d54c26f37c79c7266f200709485243231accf54f798bbc6b958ff44d02252c
6
+ metadata.gz: 8ef9348811cb5b1fda3d469498633765b636fd4e7b141a41636f2b65eadeb7196dff5496916c8d26b838b510f4f439b43d332b83a03fdff7021df4924a1df751
7
+ data.tar.gz: b43c4d655fb4aa6ae3a4f88dc696ee07a715fd96c13e2691ba3e513679b5c85d823d417b3e54b5583f8e038fefdf36ba8bb8786aa647ad0d4459d728e04fa319
data/bin/dot CHANGED
@@ -1,14 +1,21 @@
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 = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
9
+
10
+ abort parsed.help if parsed.options.help
11
+
12
+ if parsed.options.version
13
+ abort File.read(File.expand_path("../../VERSION", __FILE__))
9
14
  end
10
15
 
11
- IGNORE_FILE = File.expand_path("#{ARGV.first.chomp("/")}/.dotignore")
16
+ DIR = parsed.files.first || parsed.arguments.first || "."
17
+
18
+ IGNORE_FILE = File.expand_path("#{DIR.chomp("/")}/.dotignore")
12
19
  IGNORE_CONTENT = File.exist?(IGNORE_FILE) ? File.read(IGNORE_FILE) : ""
13
20
 
14
21
  IGNORE_PATTERNS =
@@ -23,14 +30,14 @@ def ignore?(path)
23
30
  end
24
31
 
25
32
  Git
26
- .open(ARGV.first)
33
+ .open(DIR)
27
34
  .ls_files
28
35
  .map(&:first)
29
36
  .each do |file|
30
37
  next if ignore?(file)
31
38
 
32
39
  homefile = "#{Dir.home}/#{file}"
33
- dotfile = File.expand_path("#{ARGV.first.chomp("/")}/#{file}")
40
+ dotfile = File.expand_path("#{DIR.chomp("/")}/#{file}")
34
41
  File.delete(homefile) if File.exist?(homefile) || File.symlink?(homefile)
35
42
  FileUtils.mkdir_p(File.dirname(homefile))
36
43
  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.4
4
+ version: 1.0.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-22 00:00:00.000000000 Z
11
+ date: 2024-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: git