dorian-dot 0.7.4 → 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 +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ca56eaf57e83d6fd651891cd7c4e2812750a4d931cb15526d11cd6951b9bd88
4
- data.tar.gz: add414c52873c05a4629aa640441d02d5290e6224379f40f05a5e5dd699f6ddd
3
+ metadata.gz: c3a53c2ad14f0d331c6a7347c67c355130420674aa0cf7f63a4d8dd594f37f9d
4
+ data.tar.gz: 0e0c016ba3151a50f7dddbbf3361fbe8b39835a45a29f6025d61cab9586e3d47
5
5
  SHA512:
6
- metadata.gz: 0bb861430326df211f2f1493d4a60339ef019c8f1f0ca3c8ebfd24ceff99d238622f59d5cadf43479e8d39e2103cb308d0f4c011495dd310d46207d9902fbfea
7
- data.tar.gz: 16dc06151d5b5dec76df67210fc800730d9398c7adac13697103346d0e2466d945d54c26f37c79c7266f200709485243231accf54f798bbc6b958ff44d02252c
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,7 +1,7 @@
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: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié