dorian-json-read-write 0.0.3 → 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/json-read-write +38 -6
  3. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eba0d63bc8a86aabc037141367f7d90c2cd90e005df5eb27f896d2957baa7a0f
4
- data.tar.gz: 78fc7b07228cb4e7116dae96afd9742d98750bec8f9d57628307a9a869146f81
3
+ metadata.gz: 7f1b9b39cc5ec18a2be3a8faeea29409eda6a9ceaa94405915e4a1d22536ca2e
4
+ data.tar.gz: a84b2dd33baaa5b2bf59746a5b9cf639def3e56ab315c7cc55639efcecbddea1
5
5
  SHA512:
6
- metadata.gz: d88869f6a2bd86c52cdbbcd86749d067327ebbbfd79eab21f26747716e6a1123b2846072c06a171969c99787609059121e5f499072afe3e4a43ff542cfc0e7c3
7
- data.tar.gz: d132586fb7ce10d969d12e82165b544025bdd5d70b10a2d642ba6f3c8b219a3ed2b19d7a5f9a624a982f27fc331ef64a8800eb212ceb766f6b5c0f38d87f5b85
6
+ metadata.gz: b585c7f32b16ebaf255bd84f24a541082322c9b234e7042ccbe1ade830006a9ea1ff1a934226a3fa8b3e026b9d79ab4fd490d943d463b51b78dcd8fbbbda758b
7
+ data.tar.gz: 2a4fae719534cd87e01566fde4ce8e5bfb7fa80916be96428091dec805d0acf4678375de28eb3ceb3b64e8a0883587313e60796c468a5bf50d5d885753e54cbb
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", __dir__))
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,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-json-read-write
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
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
- name: json
14
+ name: dorian-arguments
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dorian-arguments
28
+ name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -57,9 +57,9 @@ require_paths:
57
57
  - lib
58
58
  required_ruby_version: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - '='
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: 3.3.4
63
63
  required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - ">="