rack-pretty_json 0.0.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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