rack-pretty_json 0.0.2 → 1.0.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.
- data/.rspec +1 -1
- data/.travis.yml +13 -0
- data/README.md +3 -0
- data/Rakefile +1 -1
- data/lib/rack/pretty_json.rb +8 -14
- data/lib/rack/pretty_json/version.rb +1 -1
- data/rack-pretty_json.gemspec +3 -3
- data/spec/rack-pretty_json_spec.rb +16 -0
- data/spec/spec_helper.rb +3 -7
- data/spec/support/pretty_json.ru +0 -1
- metadata +100 -52
- data/.yardopts +0 -1
data/.rspec
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
--color
|
2
|
-
--format
|
2
|
+
--format documentation
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Rack::PrettyJson
|
2
2
|
|
3
|
+
[](https://travis-ci.org/damien/rack-pretty_json)
|
4
|
+
[](https://gemnasium.com/damien/rack-pretty_json)
|
5
|
+
|
3
6
|
Make your json responses PRETTY!
|
4
7
|
|
5
8
|
## Installation
|
data/Rakefile
CHANGED
data/lib/rack/pretty_json.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
require "
|
1
|
+
require "stringio"
|
2
|
+
require "multi_json"
|
2
3
|
require "rack"
|
3
4
|
require "rack/pretty_json/version"
|
4
5
|
|
@@ -29,7 +30,10 @@ module Rack
|
|
29
30
|
# - pretty json format has been requested
|
30
31
|
# - we're in development mode
|
31
32
|
if always_process? || requsted_pretty_version?(query_hash) || development?
|
32
|
-
|
33
|
+
body_io = ::StringIO.new
|
34
|
+
body.each { |line| body_io << line }
|
35
|
+
|
36
|
+
body = ::StringIO.new make_pretty!(body_io.string)
|
33
37
|
end
|
34
38
|
end
|
35
39
|
|
@@ -60,18 +64,8 @@ module Rack
|
|
60
64
|
# @param [String] body a valid JSON string
|
61
65
|
# @return #each
|
62
66
|
def make_pretty!(body)
|
63
|
-
|
64
|
-
|
65
|
-
body.each { |line| json << line }
|
66
|
-
json.rewind
|
67
|
-
|
68
|
-
# Stream our raw data through the parser
|
69
|
-
data = Yajl::Parser.parse(json, :pretty => true)
|
70
|
-
pretty_json = StringIO.new
|
71
|
-
Yajl::Encoder.encode(data, pretty_json, :pretty => true)
|
72
|
-
pretty_json.rewind
|
73
|
-
|
74
|
-
pretty_json
|
67
|
+
data = MultiJson.load(body)
|
68
|
+
MultiJson.dump(data, :pretty => true)
|
75
69
|
end
|
76
70
|
|
77
71
|
end
|
data/rack-pretty_json.gemspec
CHANGED
@@ -15,11 +15,11 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = Rack::PrettyJson::VERSION
|
17
17
|
|
18
|
-
gem.add_dependency "rack", "~> 1.
|
19
|
-
gem.add_dependency "
|
18
|
+
gem.add_dependency "rack", "~> 1.5.2"
|
19
|
+
gem.add_dependency "multi_json", "~> 1.7.2"
|
20
20
|
|
21
|
+
gem.add_development_dependency "rack-test"
|
21
22
|
gem.add_development_dependency "rake"
|
22
23
|
gem.add_development_dependency "rspec"
|
23
24
|
gem.add_development_dependency "yard"
|
24
|
-
gem.add_development_dependency "redcarpet"
|
25
25
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "Rack::PrettyJson" do
|
4
|
+
include Rack::Test::Methods
|
5
|
+
|
6
|
+
let(:app) { app, options = Rack::Builder.parse_file File.expand_path("./support/pretty_json.ru", File.dirname(__FILE__)) ; app }
|
7
|
+
let(:options) { app, options = Rack::Builder.parse_file File.expand_path("./support/pretty_json.ru", File.dirname(__FILE__)) ; options }
|
8
|
+
|
9
|
+
context "when run with the default configuration options" do
|
10
|
+
it "works" do
|
11
|
+
get "/"
|
12
|
+
last_response.should be_ok
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
# loaded once.
|
5
|
-
#
|
1
|
+
$LOAD_PATH.unshift File.expand_path("../lib", File.dirname(__FILE__))
|
2
|
+
require "rack/test"
|
3
|
+
|
6
4
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
5
|
RSpec.configure do |config|
|
8
6
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
9
|
-
config.run_all_when_everything_filtered = true
|
10
|
-
config.filter_run :focus
|
11
7
|
end
|
data/spec/support/pretty_json.ru
CHANGED
metadata
CHANGED
@@ -1,82 +1,120 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-pretty_json
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
prerelease:
|
5
|
+
version: 1.0.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Damien Wilson
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-03-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
16
|
-
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.5.2
|
17
21
|
none: false
|
22
|
+
requirement: !ruby/object:Gem::Requirement
|
18
23
|
requirements:
|
19
|
-
- - ~>
|
24
|
+
- - "~>"
|
20
25
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
22
|
-
|
26
|
+
version: 1.5.2
|
27
|
+
none: false
|
23
28
|
prerelease: false
|
24
|
-
|
29
|
+
type: :runtime
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
|
31
|
+
name: multi_json
|
32
|
+
version_requirements: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - "~>"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 1.7.2
|
28
37
|
none: false
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
29
39
|
requirements:
|
30
|
-
- - ~>
|
40
|
+
- - "~>"
|
31
41
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
42
|
+
version: 1.7.2
|
43
|
+
none: false
|
44
|
+
prerelease: false
|
33
45
|
type: :runtime
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rack-test
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: !binary |-
|
53
|
+
MA==
|
54
|
+
none: false
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: !binary |-
|
60
|
+
MA==
|
61
|
+
none: false
|
34
62
|
prerelease: false
|
35
|
-
|
63
|
+
type: :development
|
36
64
|
- !ruby/object:Gem::Dependency
|
37
65
|
name: rake
|
38
|
-
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: !binary |-
|
71
|
+
MA==
|
39
72
|
none: false
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
40
74
|
requirements:
|
41
|
-
- -
|
75
|
+
- - ">="
|
42
76
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
-
|
77
|
+
version: !binary |-
|
78
|
+
MA==
|
79
|
+
none: false
|
45
80
|
prerelease: false
|
46
|
-
|
81
|
+
type: :development
|
47
82
|
- !ruby/object:Gem::Dependency
|
48
83
|
name: rspec
|
49
|
-
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: !binary |-
|
89
|
+
MA==
|
50
90
|
none: false
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
51
92
|
requirements:
|
52
|
-
- -
|
93
|
+
- - ">="
|
53
94
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
|
95
|
+
version: !binary |-
|
96
|
+
MA==
|
97
|
+
none: false
|
56
98
|
prerelease: false
|
57
|
-
|
99
|
+
type: :development
|
58
100
|
- !ruby/object:Gem::Dependency
|
59
101
|
name: yard
|
60
|
-
|
61
|
-
none: false
|
102
|
+
version_requirements: !ruby/object:Gem::Requirement
|
62
103
|
requirements:
|
63
|
-
- -
|
104
|
+
- - ">="
|
64
105
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
66
|
-
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: *70290189851320
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: redcarpet
|
71
|
-
requirement: &70290189849840 !ruby/object:Gem::Requirement
|
106
|
+
version: !binary |-
|
107
|
+
MA==
|
72
108
|
none: false
|
109
|
+
requirement: !ruby/object:Gem::Requirement
|
73
110
|
requirements:
|
74
|
-
- -
|
111
|
+
- - ">="
|
75
112
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
77
|
-
|
113
|
+
version: !binary |-
|
114
|
+
MA==
|
115
|
+
none: false
|
78
116
|
prerelease: false
|
79
|
-
|
117
|
+
type: :development
|
80
118
|
description: Pretty JSON for pretty people
|
81
119
|
email:
|
82
120
|
- damien@mindglob.com
|
@@ -84,9 +122,9 @@ executables: []
|
|
84
122
|
extensions: []
|
85
123
|
extra_rdoc_files: []
|
86
124
|
files:
|
87
|
-
- .gitignore
|
88
|
-
- .rspec
|
89
|
-
- .
|
125
|
+
- ".gitignore"
|
126
|
+
- ".rspec"
|
127
|
+
- ".travis.yml"
|
90
128
|
- Gemfile
|
91
129
|
- LICENSE
|
92
130
|
- README.md
|
@@ -94,33 +132,43 @@ files:
|
|
94
132
|
- lib/rack/pretty_json.rb
|
95
133
|
- lib/rack/pretty_json/version.rb
|
96
134
|
- rack-pretty_json.gemspec
|
135
|
+
- spec/rack-pretty_json_spec.rb
|
97
136
|
- spec/spec_helper.rb
|
98
137
|
- spec/support/pretty_json.ru
|
99
138
|
homepage: https://www.github.com/damien/rack-pretty_json/
|
100
139
|
licenses: []
|
101
|
-
post_install_message:
|
140
|
+
post_install_message:
|
102
141
|
rdoc_options: []
|
103
142
|
require_paths:
|
104
143
|
- lib
|
105
144
|
required_ruby_version: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
145
|
requirements:
|
108
|
-
- -
|
146
|
+
- - ">="
|
109
147
|
- !ruby/object:Gem::Version
|
110
|
-
|
111
|
-
|
148
|
+
segments:
|
149
|
+
- 0
|
150
|
+
hash: 2
|
151
|
+
version: !binary |-
|
152
|
+
MA==
|
112
153
|
none: false
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
155
|
requirements:
|
114
|
-
- -
|
156
|
+
- - ">="
|
115
157
|
- !ruby/object:Gem::Version
|
116
|
-
|
158
|
+
segments:
|
159
|
+
- 0
|
160
|
+
hash: 2
|
161
|
+
version: !binary |-
|
162
|
+
MA==
|
163
|
+
none: false
|
117
164
|
requirements: []
|
118
|
-
rubyforge_project:
|
119
|
-
rubygems_version: 1.8.
|
120
|
-
signing_key:
|
165
|
+
rubyforge_project:
|
166
|
+
rubygems_version: 1.8.24
|
167
|
+
signing_key:
|
121
168
|
specification_version: 3
|
122
169
|
summary: Rack::PrettyJSON reformats JSON responses for easier readability.
|
123
170
|
test_files:
|
171
|
+
- spec/rack-pretty_json_spec.rb
|
124
172
|
- spec/spec_helper.rb
|
125
173
|
- spec/support/pretty_json.ru
|
126
|
-
has_rdoc:
|
174
|
+
has_rdoc:
|
data/.yardopts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--markup markdown
|