json_converter 0.0.0 → 0.0.1
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.
- checksums.yaml +5 -5
- data/lib/json_converter.rb +5 -5
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 305305d394627dfa7613bcda546b50906704619645fb6a76da9c2b90627a1481
|
4
|
+
data.tar.gz: d05d705fb12a658ca4e860df3a0ecbad959e90d7552df5f572f536513680c44f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5c03b2ee6df8a58aa29f34aeda8662b06b3648a94d455f9f2fd3665658fdf75a5d9669655c8ddf86d51855aa0e81fd9a08daff1f36127c2381b6998321ec48c
|
7
|
+
data.tar.gz: 8028699d8e006c94f3e3d44207f590bfc244ea56edc0600606f2da1935a3b30c2cfbeb130f5107f941f3fcd54efaff5f1b614ab8964ea97a752ce33204fcafe6
|
data/lib/json_converter.rb
CHANGED
@@ -9,7 +9,7 @@ class JsonConverter
|
|
9
9
|
|
10
10
|
generated_csv = CSV.generate do |output|
|
11
11
|
csv.each do |row|
|
12
|
-
if
|
12
|
+
if headers && !headers_written
|
13
13
|
output << row.keys && headers_written = true
|
14
14
|
end
|
15
15
|
|
@@ -23,11 +23,11 @@ class JsonConverter
|
|
23
23
|
# Generate a csv representation of the data, then write to file
|
24
24
|
def write_to_csv(json, output_filename='out.csv', headers=true, nil_substitute='')
|
25
25
|
csv = convert_to_csv json, nil_substitute
|
26
|
-
headers_written = false
|
26
|
+
headers_written = false
|
27
27
|
|
28
28
|
CSV.open(output_filename.to_s, 'w') do |output_file|
|
29
29
|
csv.each do |row|
|
30
|
-
if
|
30
|
+
if headers && !headers_written
|
31
31
|
output_file << row.keys && headers_written = true
|
32
32
|
end
|
33
33
|
|
@@ -46,7 +46,7 @@ class JsonConverter
|
|
46
46
|
out_array = []
|
47
47
|
|
48
48
|
# Replace all nil values with the value of nil_substitute; The presence
|
49
|
-
# of nil values in the data will usually result in uneven rows
|
49
|
+
# of nil values in the data will usually result in uneven rows
|
50
50
|
in_array.map! { |x| nils_to_strings x, nil_substitute }
|
51
51
|
|
52
52
|
in_array.each do |row|
|
@@ -72,7 +72,7 @@ class JsonConverter
|
|
72
72
|
|
73
73
|
# Recursively flatten a hash (or array of hashes)
|
74
74
|
def flatten(target, path='')
|
75
|
-
scalars = [String, Integer,
|
75
|
+
scalars = [String, Integer, Float, FalseClass, TrueClass]
|
76
76
|
columns = {}
|
77
77
|
|
78
78
|
if [Hash, Array].include? target.class
|
metadata
CHANGED
@@ -1,24 +1,23 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: json_converter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Escue
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
14
|
-
or valid JSON string.
|
13
|
+
description:
|
15
14
|
email: chris@escue.io
|
16
15
|
executables: []
|
17
16
|
extensions: []
|
18
17
|
extra_rdoc_files: []
|
19
18
|
files:
|
20
19
|
- lib/json_converter.rb
|
21
|
-
homepage: https://github.com/cescue/
|
20
|
+
homepage: https://github.com/cescue/json_converter
|
22
21
|
licenses:
|
23
22
|
- MIT
|
24
23
|
metadata: {}
|
@@ -38,8 +37,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
38
37
|
version: '0'
|
39
38
|
requirements: []
|
40
39
|
rubyforge_project:
|
41
|
-
rubygems_version: 2.
|
40
|
+
rubygems_version: 2.7.6
|
42
41
|
signing_key:
|
43
42
|
specification_version: 4
|
44
|
-
summary: A
|
43
|
+
summary: A simple class to generate CSV strings (or files) given a JSON object or
|
44
|
+
valid JSON string.
|
45
45
|
test_files: []
|