tidy_json 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
- - ">="
|