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 CHANGED
@@ -1,2 +1,2 @@
1
1
  --color
2
- --format progress
2
+ --format documentation
data/.travis.yml ADDED
@@ -0,0 +1,13 @@
1
+ language: ruby
2
+ script: rake spec
3
+
4
+ branches:
5
+ only: master
6
+
7
+ rvm:
8
+ - "1.9.3"
9
+ - jruby-19mode
10
+
11
+ notifications:
12
+ email:
13
+ - damien+rack-pretty_json@mindglob.com
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Rack::PrettyJson
2
2
 
3
+ [![Build Status](https://travis-ci.org/damien/rack-pretty_json.png)](https://travis-ci.org/damien/rack-pretty_json)
4
+ [![Dependency Status](https://gemnasium.com/damien/rack-pretty_json.png)](https://gemnasium.com/damien/rack-pretty_json)
5
+
3
6
  Make your json responses PRETTY!
4
7
 
5
8
  ## Installation
data/Rakefile CHANGED
@@ -13,5 +13,5 @@ task :testapp do
13
13
  end
14
14
 
15
15
  YARD::Rake::YardocTask.new do |t|
16
- t.options = %w(--markup markdown)
16
+ t.options = %w()
17
17
  end
@@ -1,4 +1,5 @@
1
- require "yajl"
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
- body = make_pretty!(body)
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
- # Convert the response body into a StringIO
64
- json = StringIO.new
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
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module PrettyJson
3
- VERSION = "0.0.2"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
@@ -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.4.1"
19
- gem.add_dependency "yajl-ruby", "~> 1.1.0"
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
- # This file was generated by the `rspec --init` command. Conventionally, all
2
- # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
- # Require this file using `require "spec_helper.rb"` to ensure that it is only
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
@@ -2,7 +2,6 @@ $:.unshift File.expand_path("../../../lib/", __FILE__)
2
2
 
3
3
  require "rack"
4
4
  require "rack/pretty_json"
5
- require "stringio"
6
5
 
7
6
  module TestApp
8
7
 
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
- version: 0.0.2
5
- prerelease:
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: 2012-05-03 00:00:00.000000000 Z
12
+ date: 2013-03-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
16
- requirement: &70290189854620 !ruby/object:Gem::Requirement
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.4.1
22
- type: :runtime
26
+ version: 1.5.2
27
+ none: false
23
28
  prerelease: false
24
- version_requirements: *70290189854620
29
+ type: :runtime
25
30
  - !ruby/object:Gem::Dependency
26
- name: yajl-ruby
27
- requirement: &70290189853760 !ruby/object:Gem::Requirement
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.1.0
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
- version_requirements: *70290189853760
63
+ type: :development
36
64
  - !ruby/object:Gem::Dependency
37
65
  name: rake
38
- requirement: &70290189853120 !ruby/object:Gem::Requirement
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: '0'
44
- type: :development
77
+ version: !binary |-
78
+ MA==
79
+ none: false
45
80
  prerelease: false
46
- version_requirements: *70290189853120
81
+ type: :development
47
82
  - !ruby/object:Gem::Dependency
48
83
  name: rspec
49
- requirement: &70290189852260 !ruby/object:Gem::Requirement
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: '0'
55
- type: :development
95
+ version: !binary |-
96
+ MA==
97
+ none: false
56
98
  prerelease: false
57
- version_requirements: *70290189852260
99
+ type: :development
58
100
  - !ruby/object:Gem::Dependency
59
101
  name: yard
60
- requirement: &70290189851320 !ruby/object:Gem::Requirement
61
- none: false
102
+ version_requirements: !ruby/object:Gem::Requirement
62
103
  requirements:
63
- - - ! '>='
104
+ - - ">="
64
105
  - !ruby/object:Gem::Version
65
- version: '0'
66
- type: :development
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: '0'
77
- type: :development
113
+ version: !binary |-
114
+ MA==
115
+ none: false
78
116
  prerelease: false
79
- version_requirements: *70290189849840
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
- - .yardopts
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
- version: '0'
111
- required_rubygems_version: !ruby/object:Gem::Requirement
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
- version: '0'
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.17
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