jsonpp 1.1.0.rc2 → 1.1.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 (2) hide show
  1. data/bin/jsonpp +27 -7
  2. metadata +20 -45
data/bin/jsonpp CHANGED
@@ -105,14 +105,13 @@ class JSONPP < PrettyPrint
105
105
  end
106
106
 
107
107
  def objenc(obj)
108
- group(1, red('{'), red('}')) do
109
- seplist(obj, nil, :each_pair) do |k, v|
108
+ bgroup(2, red('{'), red('}'), 1, 1) do
109
+ seplist(obj.keys.sort) do |k|
110
110
  group do
111
111
  pp k
112
- text ':'
113
- group(1) do
114
- breakable ''
115
- pp v
112
+ text ': '
113
+ group do
114
+ pp obj[k]
116
115
  end
117
116
  end
118
117
  end
@@ -120,13 +119,34 @@ class JSONPP < PrettyPrint
120
119
  end
121
120
 
122
121
  def arrenc(arr)
123
- group(1, green('['), green(']')) do
122
+ bgroup(2, green('['), green(']'), 1, 1) do
124
123
  seplist(arr) do |v|
125
124
  pp v
126
125
  end
127
126
  end
128
127
  end
129
128
 
129
+ def text(obj, width=nil)
130
+ if width.nil?
131
+ # Remove the ANSI codes
132
+ nocolor = obj.gsub(/\033\[[0-9;]*m/,'')
133
+ width = nocolor.length
134
+ end
135
+ super(obj, width)
136
+ end
137
+
138
+ def bgroup(indent=0, open_obj='', close_obj='', open_width=open_obj.length, close_width=close_obj.length)
139
+ text open_obj, open_width
140
+ group_sub {
141
+ nest(indent) {
142
+ breakable ''
143
+ yield
144
+ }
145
+ }
146
+ breakable ''
147
+ text close_obj, close_width
148
+ end
149
+
130
150
  def comma_breakable
131
151
  text blue(',')
132
152
  breakable
metadata CHANGED
@@ -1,73 +1,48 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jsonpp
3
- version: !ruby/object:Gem::Version
4
- hash: 81367277
5
- prerelease: 6
6
- segments:
7
- - 1
8
- - 1
9
- - 0
10
- - rc
11
- - 2
12
- version: 1.1.0.rc2
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.0
5
+ prerelease:
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - Jonas Pfenniger
16
9
  autorequire:
17
10
  bindir: bin
18
11
  cert_chain: []
19
-
20
- date: 2013-03-13 00:00:00 +00:00
21
- default_executable:
12
+ date: 2013-03-23 00:00:00.000000000 Z
22
13
  dependencies: []
23
-
24
14
  description: A really small gem that prints your `curl` output nicely
25
15
  email: jonas@pfenniger.name
26
- executables:
16
+ executables:
27
17
  - jsonpp
28
18
  extensions: []
29
-
30
19
  extra_rdoc_files: []
31
-
32
- files:
20
+ files:
33
21
  - README.md
34
22
  - bin/jsonpp
35
23
  - okjson.rb
36
- has_rdoc: true
37
24
  homepage: https://github.com/zimbatm/jsonpp
38
25
  licenses: []
39
-
40
26
  post_install_message:
41
27
  rdoc_options: []
42
-
43
- require_paths:
28
+ require_paths:
44
29
  - lib
45
- required_ruby_version: !ruby/object:Gem::Requirement
30
+ required_ruby_version: !ruby/object:Gem::Requirement
46
31
  none: false
47
- requirements:
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- hash: 3
51
- segments:
52
- - 0
53
- version: "0"
54
- required_rubygems_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
37
  none: false
56
- requirements:
57
- - - ">"
58
- - !ruby/object:Gem::Version
59
- hash: 25
60
- segments:
61
- - 1
62
- - 3
63
- - 1
64
- version: 1.3.1
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
65
42
  requirements: []
66
-
67
43
  rubyforge_project:
68
- rubygems_version: 1.6.2
44
+ rubygems_version: 1.8.23
69
45
  signing_key:
70
46
  specification_version: 3
71
47
  summary: Command-line JSON pretty-printer
72
48
  test_files: []
73
-