tidy_json 0.1.1 → 0.1.2
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 +4 -4
- data/LICENSE +1 -1
- data/README.md +52 -24
- data/lib/tidy_json/dedication.rb +2 -4
- data/lib/tidy_json/version.rb +1 -1
- data/lib/tidy_json.rb +2 -2
- data/tidy_json.gemspec +4 -3
- metadata +8 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16df8d716d6fcdfeba6ed6afbf5954089e172f39b61a73fa853babb5d3c2cde6
|
4
|
+
data.tar.gz: bc64fa60a34d16af688444e0fb706c7a087dc38ced05babcc0680bf1874fed8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54185c4b206f63502a061f2a8397a78697fee2eea068c77b1392f02c24d95136ecac03026c1b08b1782c554c0d3356373c367980ce857197f5c3ff2061393663
|
7
|
+
data.tar.gz: ba130a35229098c25b0e750dc631f725c53013eac9b69a702c26110cd321930c056f13627c066ac805a72851405cdc5203e90638def06e75396970a2c5b52b7d
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,24 +1,16 @@
|
|
1
1
|
# TidyJson
|
2
2
|
|
3
|
-
[![Build Status]
|
3
|
+
[![Travis Build Status][travis_build_status_badge]][travis_build_status] [![Circle CI Build Status][cci_build_status_badge]][cci_build_status] ![Gem Version][gem_version_badge]
|
4
4
|
|
5
5
|
A mixin providing (recursive) JSON serialization and pretty printing.
|
6
6
|
|
7
7
|
### Installation
|
8
8
|
|
9
|
-
#### Minimal
|
10
|
-
|
11
|
-
```bash
|
12
|
-
$ gem install tidy_json
|
13
|
-
```
|
14
|
-
|
15
|
-
#### Development (tests, YARD docs)
|
16
|
-
|
17
9
|
```bash
|
18
|
-
|
10
|
+
$ gem install tidy_json
|
19
11
|
```
|
20
12
|
|
21
|
-
Or,
|
13
|
+
Or, in your `Gemfile`:
|
22
14
|
|
23
15
|
```ruby
|
24
16
|
source 'https://rubygems.org'
|
@@ -32,21 +24,53 @@ gem 'tidy_json'
|
|
32
24
|
```ruby
|
33
25
|
require 'tidy_json'
|
34
26
|
|
35
|
-
|
36
|
-
|
27
|
+
class Jsonable
|
28
|
+
attr_reader :a, :b
|
29
|
+
def initialize
|
30
|
+
@a = { a: 'uno', b: 'dos', c: ['I', 'II', 'III', ['i.', 'ii.', 'iii.', { 'ichi': "\u{4e00}", 'ni': "\u{4e8c}", 'san': "\u{4e09}", 'yon': "\u{56db}" }]] }
|
31
|
+
@b = { a: 1, b: ['two', 3, '<abbr title="four">IV</abbr>'] }
|
32
|
+
end
|
33
|
+
end
|
37
34
|
|
38
|
-
complex_object =
|
39
|
-
|
35
|
+
complex_object = Jsonable.new
|
36
|
+
puts JSON.parse complex_object.stringify
|
37
|
+
# => {"class"=>"Jsonable", "a"=>{"a"=>"uno", "b"=>"dos", "c"=>["I", "II", "III", ["i.", "ii.", "iii.", {"ichi"=>"一", "ni"=>"二", "san"=>"三", "yon"=>"四"}]]}, "b"=>{"a"=>1, "b"=>["two", 3, "<abbr title=\"four\">IV</abbr>"]}}
|
40
38
|
|
41
39
|
puts complex_object.to_tidy_json
|
42
40
|
# {
|
43
|
-
# "
|
41
|
+
# "class": "Jsonable",
|
42
|
+
# "a":
|
43
|
+
# {
|
44
|
+
# "a": "uno",
|
45
|
+
# "b": "dos",
|
46
|
+
# "c":
|
47
|
+
# [
|
48
|
+
# "I",
|
49
|
+
# "II",
|
50
|
+
# "III",
|
51
|
+
# [
|
52
|
+
# "i.",
|
53
|
+
# "ii.",
|
54
|
+
# "iii.",
|
55
|
+
# {
|
56
|
+
# "ichi":"一",
|
57
|
+
# "ni":"二",
|
58
|
+
# "san":"三",
|
59
|
+
# "yon":"四"
|
60
|
+
# }
|
61
|
+
# ]
|
62
|
+
# ]
|
63
|
+
# },
|
44
64
|
# "b":
|
45
|
-
#
|
46
|
-
# "
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
65
|
+
# {
|
66
|
+
# "a": 1,
|
67
|
+
# "b":
|
68
|
+
# [
|
69
|
+
# "two",
|
70
|
+
# 3,
|
71
|
+
# "<abbr title=\"four\">IV</abbr>"
|
72
|
+
# ]
|
73
|
+
# }
|
50
74
|
# }
|
51
75
|
# => nil
|
52
76
|
```
|
@@ -57,12 +81,16 @@ puts complex_object.to_tidy_json
|
|
57
81
|
- [json](https://rubygems.org/gems/json) ~> 2.2
|
58
82
|
|
59
83
|
#### Building
|
60
|
-
- [bundler](https://rubygems.org/gems/bundler) ~>
|
84
|
+
- [bundler](https://rubygems.org/gems/bundler) ~> 1.17
|
61
85
|
- [minitest](https://rubygems.org/gems/minitest) ~> 5.0
|
62
86
|
- [yard](https://rubygems.org/gems/yard) ~> 0.9
|
63
87
|
|
64
88
|
### License
|
65
89
|
[MIT](https://opensource.org/licenses/MIT)
|
66
90
|
|
67
|
-
|
68
|
-
[
|
91
|
+
|
92
|
+
[travis_build_status]: https://travis-ci.com/rdipardo/tidy_json
|
93
|
+
[cci_build_status]: https://circleci.com/gh/rdipardo/tidy_json
|
94
|
+
[travis_build_status_badge]: https://travis-ci.com/rdipardo/tidy_json.svg
|
95
|
+
[cci_build_status_badge]: https://circleci.com/gh/rdipardo/tidy_json.svg?style=svg
|
96
|
+
[gem_version_badge]: https://img.shields.io/gem/v/tidy_json
|
data/lib/tidy_json/dedication.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
module TidyJson # :nodoc:
|
2
|
-
DEDICATION = "#{'.' * 50}\n#{'.' *
|
3
|
-
"#{'.' * 12} (c) 2019 Robert Di Pardo #{'.' * 12}\n" \
|
4
|
-
"#{'.' * 50}\n#{'.' * 19} IN MEMORIAM #{'.' * 18}\n" \
|
2
|
+
DEDICATION = "#{'.' * 50}\n#{'.' * 19} IN MEMORIAM #{'.' * 18}\n" \
|
5
3
|
"#{'.' * 16} Michael Di Pardo #{'.' * 16}\n" \
|
6
4
|
"#{'.' * 19} 1950 - 2019 #{'.' * 18}\n#{'.' * 50}\n" \
|
7
|
-
"#{'.' *
|
5
|
+
"#{'.' * 11} Please consider supporting #{'.' * 11}\n" \
|
8
6
|
"#{'.' * 13} the MS Society of Canada #{'.' * 11}\n" \
|
9
7
|
"#{'.' * 8} https://mssociety.ca/get-involved #{'.' * 7}\n" \
|
10
8
|
"#{'.' * 50}\n"
|
data/lib/tidy_json/version.rb
CHANGED
data/lib/tidy_json.rb
CHANGED
@@ -73,7 +73,7 @@ module TidyJson
|
|
73
73
|
# Writes a pretty-printed JSON representation of the sender object to the file specified by +out+.
|
74
74
|
#
|
75
75
|
# @param pretty [Boolean] Whether or not the output should be pretty-printed.
|
76
|
-
# @param out [String] The destination filename. Defaults to <tt><obj_class_name>_<
|
76
|
+
# @param out [String] The destination filename. Defaults to <tt><obj_class_name>_<unix timestamp></tt>.json
|
77
77
|
# @return [String, nil] The path to the written output file, if successful.
|
78
78
|
def write_json(pretty = true, out = "#{self.class.name}_#{Time.now.to_i}")
|
79
79
|
path = nil
|
@@ -374,7 +374,7 @@ end
|
|
374
374
|
# ~TidyJson
|
375
375
|
|
376
376
|
##
|
377
|
-
#
|
377
|
+
# Includes +TidyJson+ in every Ruby class.
|
378
378
|
# ====
|
379
379
|
# class Object
|
380
380
|
# include TidyJson
|
data/tidy_json.gemspec
CHANGED
@@ -4,21 +4,22 @@ require_relative 'lib/tidy_json/dedication'
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
5
|
spec.name = 'tidy_json'
|
6
6
|
spec.version = TidyJson::VERSION
|
7
|
-
spec.date = Time.now.to_s[0..9]
|
7
|
+
spec.date = Time.now.to_s[0..9]
|
8
8
|
spec.summary = 'Serialize any Ruby object as readable JSON'
|
9
9
|
spec.description = 'A mixin providing (recursive) JSON serialization and pretty printing.'
|
10
10
|
spec.authors = ['Robert Di Pardo']
|
11
11
|
spec.email = 'rdipardo0520@conestogac.on.ca'
|
12
12
|
spec.homepage = 'https://github.com/rdipardo/tidy_json'
|
13
|
+
spec.metadata = {'documentation_uri' => 'https://rubydoc.org/github/rdipardo/tidy_json'}
|
13
14
|
spec.license = 'MIT'
|
14
15
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
15
16
|
['.yardopts'].concat(`git ls-files -z`.split("\x0").reject { |f| f.match(/^(\.[\w+\.]+|test|spec|features)/) })
|
16
17
|
end
|
17
18
|
spec.test_files = Dir['test/*']
|
18
19
|
spec.require_paths = ['lib']
|
19
|
-
spec.required_ruby_version = Gem::Requirement.new('>= 2.3
|
20
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 2.3')
|
20
21
|
spec.add_runtime_dependency 'json', '~> 2.2'
|
21
|
-
spec.add_development_dependency 'bundler', '~>
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.17'
|
22
23
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
23
24
|
spec.add_development_dependency 'yard', '~> 0.9'
|
24
25
|
spec.rdoc_options = ['-x test/*']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tidy_json
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Di Pardo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '1.17'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '1.17'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,17 +85,15 @@ files:
|
|
85
85
|
homepage: https://github.com/rdipardo/tidy_json
|
86
86
|
licenses:
|
87
87
|
- MIT
|
88
|
-
metadata:
|
88
|
+
metadata:
|
89
|
+
documentation_uri: https://rubydoc.org/github/rdipardo/tidy_json
|
89
90
|
post_install_message: |
|
90
|
-
..................................................
|
91
|
-
.................... tidy_json ...................
|
92
|
-
............ (c) 2019 Robert Di Pardo ............
|
93
91
|
..................................................
|
94
92
|
................... IN MEMORIAM ..................
|
95
93
|
................ Michael Di Pardo ................
|
96
94
|
................... 1950 - 2019 ..................
|
97
95
|
..................................................
|
98
|
-
|
96
|
+
........... Please consider supporting ...........
|
99
97
|
............. the MS Society of Canada ...........
|
100
98
|
........ https://mssociety.ca/get-involved .......
|
101
99
|
..................................................
|
@@ -107,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
107
105
|
requirements:
|
108
106
|
- - ">="
|
109
107
|
- !ruby/object:Gem::Version
|
110
|
-
version: 2.3
|
108
|
+
version: '2.3'
|
111
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
110
|
requirements:
|
113
111
|
- - ">="
|