dorian-json-all 0.1.1 → 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-all +14 -5
  3. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf9b7cd6639d0c897d3e8efc1ea86df45c88f19f05960166ca332f40d339241a
4
- data.tar.gz: c60666276d4438d22e3300028387a17e86ae537cbfc5adb9030a4f8b18cbc519
3
+ metadata.gz: f0acd256a0b72e623e925cc1db6ad7f6818cbf0ebbc902ead5966084592d9063
4
+ data.tar.gz: 0ca098a0745edaf5df3e3b4829301ebedbe6c670ad4af42be8f250b7844b0209
5
5
  SHA512:
6
- metadata.gz: cc9210186711d69a982da0d8197c058303e41a454de79f7bff1ac4558fe54b0f1072000bde13fe77ac2bb2d5d315cb386fcd2426fb7c223ddfcab9861a06452c
7
- data.tar.gz: 8726fb5b7216453d804f388a15d799c57d6e4f676770d6578bf549686d2a42505aa3a98a101f9bcda1a663de586f1aeb2c3cf0279fe77867b8f4ec4d892b9883
6
+ metadata.gz: 506905303e0644e0ebc00147b786a93565a1ca839d3b87d8333631e6a03291c5bdc65a2b13e8076a81ba38ae2157455c9c6377288ef9710d936a9b73476ec8b2
7
+ data.tar.gz: 434c78701631d57b7ebce89cf7edd75424439db2716a456425cfc91e53a6fd1cf04e3a345d53c0d1829b541ac38bcc3ba3c22734dd293b64ce6f5ce6c274b3d7
data/bin/json-all CHANGED
@@ -1,13 +1,22 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
+ require "dorian/arguments"
5
+ require "dorian/to_struct"
4
6
  require "json"
5
- require "dorian-to_struct"
6
7
 
7
- if ARGV.size != 1 || ARGV[0] == "--help" || ARGV[0] == "-h"
8
- abort "USAGE: ... | json-all CODE"
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
- it = JSON.parse($stdin.each_line.to_a.map(&:strip).join("\n")).to_deep_struct
16
+ inputs = parsed.files.map { |file| File.read(file) }
17
+ inputs = [$stdin.each_line.to_a.map(&:strip).join("\n")] if inputs.empty?
12
18
 
13
- eval(ARGV.first)
19
+ inputs.each do |input|
20
+ it = JSON.parse(input).to_deep_struct
21
+ eval(parsed.arguments.join(" "))
22
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-json-all
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
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
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dorian-arguments
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description: evaluates some ruby code on all of a json input
42
56
  email: dorian@dorianmarie.com
43
57
  executables: