tidy_json 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dfdad155c72b5ef6d411fbdd2dae876a4d7951e97f2f59f0817d09be0d1b1f8a
4
- data.tar.gz: 40fbd785790e3dc649c1ab8ac16696b359f832cc43da577e71fe9b55a5467212
3
+ metadata.gz: 1ee82014d81eee49d6386266ea0b95ac1774291db69bdc50e32a062b7e39613e
4
+ data.tar.gz: fa30e666d9762736b9f61e89ce94b0ab2384df7cc7b011dd21114399d88b56e1
5
5
  SHA512:
6
- metadata.gz: a62c5325d5ec264c61321518e26997170f5a1b34210d6c93052dfa2ab7aedce355ef0f9f9688dc4a18cd4113fafb121b314528374ba509b7e47f7a1f0f4afb7f
7
- data.tar.gz: 2351e73fd6c2c6e8da966b02cec5da2eeaff8ca77a090c5ac5e7aff96122e27f12ac8c770b1b89ce943e6300e21325b099442750137ca54183fee568b8db048b
6
+ metadata.gz: 0fe08f848f90052cef2c6cff40c56cd9abd7afefc9d8998091d64fa6a8f710df2682f4c7c17eac9bbdb9185b5418e7da7ecfb6e8a1f82a860b4faaa481bfb97c
7
+ data.tar.gz: 3b6c7bbb72b216e9759f2c822ad35e206b41faafa21f3f9eb5bb79313008ba64562d99159d1f6e2e1485e9833e8a2f7916a8c8d1a307ab929b1f77f7f32a878d
data/README.md CHANGED
@@ -24,7 +24,7 @@ gem 'tidy_json'
24
24
  ```ruby
25
25
  require 'tidy_json'
26
26
 
27
- class JsonableObject
27
+ class Jsonable
28
28
  attr_reader :a, :b
29
29
  def initialize
30
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}" }]] }
@@ -32,42 +32,42 @@ class JsonableObject
32
32
  end
33
33
  end
34
34
 
35
- my_jsonable = JsonableObject.new
35
+ my_jsonable = Jsonable.new
36
36
 
37
37
  JSON.parse my_jsonable.stringify
38
38
  # => {"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>"]}}
39
39
 
40
- puts my_jsonable.to_tidy_json(indent: 8)
40
+ puts my_jsonable.to_tidy_json(indent: 4)
41
41
  # {
42
- # "class": "JsonableObject",
43
- # "a": {
44
- # "a": "uno",
45
- # "b": "dos",
46
- # "c": [
47
- # "I",
48
- # "II",
49
- # "III",
50
- # [
51
- # "i.",
52
- # "ii.",
53
- # "iii.",
54
- # {
55
- # "ichi": "一",
56
- # "ni": "二",
57
- # "san": "三",
58
- # "yon": "四"
59
- # }
60
- # ]
61
- # ]
62
- # },
63
- # "b": {
64
- # "a": 1,
65
- # "b": [
66
- # "two",
67
- # 3,
68
- # "<abbr title=\"four\">IV</abbr>"
69
- # ]
70
- # }
42
+ # "class": "Jsonable",
43
+ # "a": {
44
+ # "a": "uno",
45
+ # "b": "dos",
46
+ # "c": [
47
+ # "I",
48
+ # "II",
49
+ # "III",
50
+ # [
51
+ # "i.",
52
+ # "ii.",
53
+ # "iii.",
54
+ # {
55
+ # "ichi": "一",
56
+ # "ni": "二",
57
+ # "san": "三",
58
+ # "yon": "四"
59
+ # }
60
+ # ]
61
+ # ]
62
+ # },
63
+ # "b": {
64
+ # "a": 1,
65
+ # "b": [
66
+ # "two",
67
+ # 3,
68
+ # "<abbr title=\"four\">IV</abbr>"
69
+ # ]
70
+ # }
71
71
  # }
72
72
  # => nil
73
73
  ```
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module TidyJson # :nodoc:
2
4
  DEDICATION = "\n#{'.' * 50}\n#{'.' * 19} IN MEMORIAM #{'.' * 18}\n" \
3
5
  "#{'.' * 16} Michael Di Pardo #{'.' * 16}\n" \
@@ -6,5 +8,5 @@ module TidyJson # :nodoc:
6
8
  "#{'.' * 11} Please consider supporting #{'.' * 11}\n" \
7
9
  "#{'.' * 13} the MS Society of Canada #{'.' * 11}\n" \
8
10
  "#{'.' * 8} https://mssociety.ca/get-involved #{'.' * 7}\n" \
9
- "#{'.' * 50}\n\n".freeze
11
+ "#{'.' * 50}\n\n"
10
12
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module TidyJson
2
- VERSION = '0.2.0'.freeze
4
+ VERSION = '0.2.1'
3
5
  end
data/lib/tidy_json.rb CHANGED
@@ -74,7 +74,7 @@ module TidyJson
74
74
  # Writes a JSON representation of the sender object to the file specified by +out+.
75
75
  #
76
76
  # @param out [String] The destination filename.
77
- # @param opts [Hash] Formatting options for this object's +#to_tidy_json+ method.
77
+ # @param opts [Hash] Formatting options for this object's +#to_tidy_json+ method, when called.
78
78
  # [:tidy] whether or not the output should be pretty-printed
79
79
  # [:indent] the number of white spaces to indent
80
80
  # @return [String, nil] The path to the written output file, if successful.
@@ -82,7 +82,16 @@ module TidyJson
82
82
  path = nil
83
83
 
84
84
  File.open("#{out}.json", 'w') do |f|
85
- path = f << to_tidy_json(opts)
85
+ path =
86
+ f << if !instance_variables.empty?
87
+ if opts[:tidy] then to_tidy_json(opts)
88
+ else stringify
89
+ end
90
+ else
91
+ if opts[:tidy] then to_tidy_json(opts)
92
+ else to_json
93
+ end
94
+ end
86
95
  end
87
96
 
88
97
  path.path
@@ -245,6 +254,10 @@ module TidyJson
245
254
  # @!attribute indent
246
255
  # @return [String] the string of white space used by this +Formatter+ to indent object members.
247
256
 
257
+ ##
258
+ # Returns a new instance of +Formatter+.
259
+ # @param format_options [Hash] Formatting options.
260
+ # [:indent] the number of white spaces to indent. The default is 2.
248
261
  def initialize(format_options = {})
249
262
  ##
250
263
  # The number of times to reduce the left indent of a nested array's opening
data/tidy_json.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
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/master' }
13
+ spec.metadata = { 'documentation_uri' => 'https://rubydoc.org/github/rdipardo/tidy_json' }
14
14
  spec.license = 'MIT'
15
15
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
16
16
  ['.yardopts'].concat(`git ls-files -z`.split("\x0").reject { |f| f.match(/^(\.[\w+\.]+|test|spec|features)/) })
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.2.0
4
+ version: 0.2.1
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: 2020-02-04 00:00:00.000000000 Z
11
+ date: 2020-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -72,7 +72,7 @@ homepage: https://github.com/rdipardo/tidy_json
72
72
  licenses:
73
73
  - MIT
74
74
  metadata:
75
- documentation_uri: https://rubydoc.org/github/rdipardo/tidy_json/master
75
+ documentation_uri: https://rubydoc.org/github/rdipardo/tidy_json
76
76
  post_install_message: |2+
77
77
 
78
78
  ..................................................