dorian-json-map 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/json-map +8 -7
  3. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a43023a04dd7b83e7283459b769359d8eb432b98c161e5e24f7305857e646f6
4
- data.tar.gz: 9006588a49822f8cf420e98c3b5d9d60bfc2bfce38a8379dbbdc3f4fce4be743
3
+ metadata.gz: f6766a41f5a494531f66be633a4c9fdd219825b99fbbf0d7fb07932824ed6e2f
4
+ data.tar.gz: 41503924c02fcfb12ee36372b8b136d6840f9edc43e5b321dd37226dea135fe7
5
5
  SHA512:
6
- metadata.gz: e06dab327c96bf4a81f5bf6bb82847878e7b96f89d049ecea830d120f66ccc6627f50a30939cbb268fc09f1c3e95c2065f17379b8f45515f1c2d85993640ba6c
7
- data.tar.gz: 685faef9eda2bd954388f075fad16640af4c82d3f333a3f15fce10304a0ce511dffdfbac452fb9ab9095797b6011fba484cb8147917789589c2c065ce5db060b
6
+ metadata.gz: c3830666f5e4edcdd8fd8abddc342672f852d2c227deea0f8f15678f1e9fede6f82b4bb39d97fe814fb2ff98908bd484c689f0b7bab7bb25b9f25b48aa8814dd
7
+ data.tar.gz: 9fe99b4f1bea7d3823e815f04ca1f3e0f13238c025b81e4e3aa6769f7dd8a1249a3a32e2f325de92b31858aa7597f77007b395f05f80ce255eb8e6cbb6078261
data/bin/json-map CHANGED
@@ -2,6 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "dorian/arguments"
5
+ require "dorian/to_struct"
5
6
  require "json"
6
7
 
7
8
  parsed = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
@@ -9,7 +10,7 @@ parsed = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
9
10
  abort parsed.help if parsed.options.help
10
11
 
11
12
  if parsed.options.version
12
- abort File.read(File.expand_path("../../VERSION", __FILE__))
13
+ abort File.read(File.expand_path("../VERSION", __dir__))
13
14
  end
14
15
 
15
16
  inputs = parsed.files.map { |file| File.read(file) }
@@ -21,21 +22,21 @@ inputs.each do |input|
21
22
  if json.is_a?(Hash)
22
23
  result =
23
24
  json.to_h do |key, value|
24
- it = [key.dup, value.dup]
25
+ it = { key.dup => value.dup }.to_deep_struct
25
26
  eval(parsed.arguments.join(" "))
26
- it
27
+ it.from_deep_struct.to_a.first
27
28
  end
28
29
  elsif json.is_a?(Array)
29
30
  result =
30
31
  json.map do |it|
31
- it = it.dup
32
+ it = it.dup.to_deep_struct
32
33
  eval(parsed.arguments.join(" "))
33
- it
34
+ it.from_deep_struct
34
35
  end
35
36
  else
36
- it = json.dup
37
+ it = json.dup.to_deep_struct
37
38
  eval(parsed.arguments.join(" "))
38
- result = it
39
+ result = it.from_deep_struct
39
40
  end
40
41
 
41
42
  puts JSON.pretty_generate(result)
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-json-map
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.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-24 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
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: dorian-arguments
42
+ name: json
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -71,9 +71,9 @@ require_paths:
71
71
  - lib
72
72
  required_ruby_version: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - '='
75
75
  - !ruby/object:Gem::Version
76
- version: '0'
76
+ version: 3.3.4
77
77
  required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - ">="