dorian-json-read-write 0.0.2 → 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/json-read-write +38 -6
  3. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '09f2317959b7d10678fa4421bb1e1896c34ce0c4da5da55e277165c86b22bee4'
4
- data.tar.gz: '08405ab246cae8440b979a9f4f1d5af9c7d54f5cd337e096e2efa1e27de7ead7'
3
+ metadata.gz: 13759d7724ae03d6b71f4e80361ced769ce25472b5233bc70e9b806138b084b0
4
+ data.tar.gz: 429d983cf8dea9ae8fcf8ab3ffcd756cfdd2455314411f255ebcd6fefc62ee21
5
5
  SHA512:
6
- metadata.gz: da19e3101482df4cad3f71a1ce5dd26b97bec9457e651f71b993ddcd4b477e9c1696a332e92744cb88e48d2dfdb7dcfef409fcb114e31faf57a915afeb158d6f
7
- data.tar.gz: 05bb5d5ac2ca3773c4cebd1d984ff136c99d29736fa1a768dce6d7fea70c10319f506512baa2241e12ff16d6c082a510b3f419fd1623b3d61635932e04db5320
6
+ metadata.gz: 7df4f047d696076907ed6f5037abdec158445e930c60ff21cda3fa4fa534edc2100b1a3feece86b92eda35bdbe2f1a3b65167a29552a6344b58e0f6d918d1d0b
7
+ data.tar.gz: f04bd705021e5e603edb7ee028673fda7ac51c46a6099c195c0676dbf9f6bbdc49810a9eed16e6b3209683989766dfc640fc3cecfd6c746968ad126ea659ada7
data/bin/json-read-write CHANGED
@@ -1,12 +1,44 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- if ARGV.size != 1 || ARGV[0] == "--help" || ARGV[0] == "-h"
5
- puts "USAGE: ... | each CODE"
6
- exit
4
+ require "dorian/arguments"
5
+ require "json"
6
+
7
+ parsed =
8
+ Dorian::Arguments.parse(
9
+ pretty: {
10
+ alias: :p,
11
+ default: true
12
+ },
13
+ version: {
14
+ alias: :v
15
+ },
16
+ help: {
17
+ alias: :h
18
+ }
19
+ )
20
+
21
+ abort parsed.help if parsed.options.help
22
+
23
+ if parsed.options.version
24
+ abort File.read(File.expand_path("../../VERSION", __FILE__))
7
25
  end
8
26
 
9
- $stdin.each_line do |it|
10
- it.strip!
11
- eval(ARGV.first)
27
+ parsed.files.each do |file|
28
+ if parsed.options.pretty
29
+ File.write(file, JSON.pretty_generate(JSON.parse(File.read(file))) + "\n")
30
+ else
31
+ File.write(file, JSON.parse(File.read(file)).to_json)
32
+ end
33
+ end
34
+
35
+ if parsed.files.empty?
36
+ input = parsed.arguments.join(" ")
37
+ input = $stdin.each_line.to_a.map(&:strip).join("\n") if input.empty?
38
+
39
+ if parsed.options.pretty
40
+ puts JSON.pretty_generate(JSON.parse(input))
41
+ else
42
+ puts JSON.parse(input).to_json
43
+ end
12
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-json-read-write
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
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-18 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: json
@@ -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: json read write
28
42
  email: dorian@dorianmarie.com
29
43
  executables: