dorian-write 0.1.2 → 1.1.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/write +29 -12
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 32bc6471b48d1509ae641126000cf1f5b6e0f58ad418b9b0a38473bebe4035cc
4
- data.tar.gz: '048dd8f6840a07a658986b21fb172de7d6c6b55945778e11b9f21447acc0c549'
3
+ metadata.gz: 41c8741ea75ba2f213fef8f603539e2f2976a49ea0de1c368ba0916be8738954
4
+ data.tar.gz: 0aad783092fa82edcdddabf77c99e77ab336d2176fd07f56ed9be8f139912c31
5
5
  SHA512:
6
- metadata.gz: 55bce51fab2caf2836da43be708bb05089d79ed3f5cd972f38aa9a762af156a121f58400a4e61eae3792420d42459979568cf87647886b9c9f360507a82964b0
7
- data.tar.gz: 5f880a418bff1fed97908b22424192d8bd3cc16930947a41f6baf08aac000c26dde8a99a8a1f7f337ed713d5e1c1c703c5c0142f0d2309e7ff9b444d17699e46
6
+ metadata.gz: 0275a081e9b2f0c92ef6f73e7a624f4a66dc3b44695bee3908e0aeb845d25aceb31d6f7c7ce7e4c83cc9559f598b40d934359d3e81fbec01dd049f4dcb509ab6
7
+ data.tar.gz: 56cf23b65ae802ed637a17bc9f747beb5fbe1487e279b9f1a36335fec316bb600706bfcca6caae2df4bb8c318ed0ded6ad7e7504f83d152c2c1672c8f6181c5a
data/bin/write CHANGED
@@ -1,21 +1,38 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- if ARGV.size < 1 || ARGV.first == "--help" || ARGV.first == "-h"
5
- abort "USAGE: ... | write [-a|--append|-p|--prepend] FILES..."
4
+ require "dorian/arguments"
5
+
6
+ parsed =
7
+ Dorian::Arguments.parse(
8
+ prepend: {
9
+ alias: :p
10
+ },
11
+ append: {
12
+ alias: :a
13
+ },
14
+ version: {
15
+ alias: :v
16
+ },
17
+ help: {
18
+ alias: :h
19
+ }
20
+ )
21
+
22
+ abort parsed.help if parsed.options.help
23
+
24
+ if parsed.options.version
25
+ abort File.read(File.expand_path("../VERSION", __dir__))
6
26
  end
7
27
 
8
- PREPEND = ARGV.detect { |argv| argv == "-p" || argv == "--prepend" }
9
- APPEND = ARGV.detect { |argv| argv == "-a" || argv == "--append" }
10
- FILES = ARGV - [PREPEND] - [APPEND]
11
- CONTENT = $stdin.each_line.to_a.map(&:strip).join("\n")
28
+ content = $stdin.each_line.to_a.join
12
29
 
13
- FILES.each do |file|
14
- if APPEND
15
- File.write(file, [File.read(file).strip, CONTENT].join("\n"))
16
- elsif PREPEND
17
- File.write(file, [CONTENT, File.read(file).strip].join("\n"))
30
+ (parsed.files + parsed.arguments).each do |file|
31
+ if parsed.options.append
32
+ File.write(file, [File.read(file).strip, content].join("\n"))
33
+ elsif parsed.options.prepend
34
+ File.write(file, [content, File.read(file).strip].join("\n"))
18
35
  else
19
- File.write(file, CONTENT)
36
+ File.write(file, content)
20
37
  end
21
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-write
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 1.1.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-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dorian-arguments
@@ -43,9 +43,9 @@ require_paths:
43
43
  - lib
44
44
  required_ruby_version: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ">="
46
+ - - '='
47
47
  - !ruby/object:Gem::Version
48
- version: '0'
48
+ version: 3.3.4
49
49
  required_rubygems_version: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="