jsonview 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f5d70eaa39c68d70ff38df05bc71e5ac54c40bf5
4
+ data.tar.gz: 2a6c13399bbec46acfbc375ac3efa1403891fd76
5
+ SHA512:
6
+ metadata.gz: ccf1c8a77fea409e7af381f6acd9a89a1909a6a8a880b69d44966d8756675f6aa27759bd692f19bd941c7356e83c2d1911cc27cc98548b4eb2130d1729112d17
7
+ data.tar.gz: f91792869a9f32bc402eed86af68dd5f66cbc880851494f499177939c87579b6605ce1bb7aa91dcb334a9bc51696a591e1d6635cfe1d6e8059939bb3af96fe23
@@ -26,18 +26,20 @@ module Jsonview
26
26
 
27
27
  def html_document(value)
28
28
  <<-HTML
29
+ <!DOCTYPE html>
29
30
  <html>
30
31
  <head>
31
32
  <style>
32
33
  null { color: red }
33
34
  string { color: green }
34
35
  number, boolean { color: blue }
35
- hash, array { display: block; margin-left: 20px }
36
+ unknown { color: gray }
37
+ hash, array { display: block; margin-left: 2em }
36
38
  key { font-weight: bold }
37
39
  </style>
38
40
  </head>
39
41
  <body>
40
- #{represent(value)}
42
+ #{represent(value).join}
41
43
  </body>
42
44
  </html>
43
45
  HTML
@@ -46,24 +48,61 @@ module Jsonview
46
48
  def represent(value)
47
49
  case value
48
50
  when nil
49
- "<null>NULL</null>"
50
- when String
51
- "<string>\"#{encode(value)}\"</string>"
52
- when Fixnum
53
- "<number>#{value.to_s}</number>"
51
+ "<null>null</null>"
52
+ when Numeric
53
+ "<number>#{value}</number>"
54
54
  when TrueClass, FalseClass
55
- "<boolean>#{value.to_s}</boolean>"
55
+ "<boolean>#{value}</boolean>"
56
56
  when Array
57
- "[\n#{value.map{|v| "<array>#{represent(v)}</array>\n" }.join}]\n"
57
+ [
58
+ "[<array>\n",
59
+ value.each_with_index.map do |v, i|
60
+ [
61
+ (",<br/>\n" if i > 0),
62
+ represent(v),
63
+ ]
64
+ end,
65
+ "\n</array>]",
66
+ ]
58
67
  when Hash
59
- "{\n#{value.to_a.map{|(k, v)| "<hash><key>#{encode(k.to_s)}</key>: #{represent(v)}</hash>\n" }.join}}\n"
68
+ [
69
+ "{<hash>\n",
70
+ value.each_with_index.map do |(k, v), i|
71
+ [
72
+ (",<br/>\n" if i > 0),
73
+ "<key>&quot;",
74
+ encode(k.to_s),
75
+ "&quot;</key>: ",
76
+ represent(v),
77
+ ]
78
+ end,
79
+ "\n</hash>}",
80
+ ]
81
+ when URI.regexp(%w[http https])
82
+ [
83
+ "&quot;<a href=\"",
84
+ encode(value),
85
+ "\">",
86
+ encode(value),
87
+ "</a>&quot;",
88
+ ]
89
+ when String
90
+ [
91
+ "<string>&quot;",
92
+ encode(value),
93
+ "&quot;</string>",
94
+ ]
60
95
  else
61
- raise "Didn't expect a #{value.class}"
96
+ [
97
+ "<unknown>&quot;",
98
+ encode(value.inspect),
99
+ "&quot;</unknown>",
100
+ ]
62
101
  end
63
102
  end
64
103
 
65
104
  def encode(string)
66
- string.gsub /[<>&"]/, '<' => '&lt;', '>' => '&gt;', '&' => '&amp;', '"' => '&quot;'
105
+ string.gsub /[<>&"]/, '<' => '&lt;', '>' => '&gt;', '&' => '&amp;', '"' => '\&quot;'
67
106
  end
68
107
  end
69
108
  end
@@ -1,3 +1,3 @@
1
1
  module Jsonview
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,33 +1,22 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jsonview
3
- version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 1
10
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Preston Guillory
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-12-10 00:00:00 Z
11
+ date: 2013-11-26 00:00:00.000000000 Z
19
12
  dependencies: []
20
-
21
13
  description: JSONView for Rack
22
- email:
14
+ email:
23
15
  - pguillory@gmail.com
24
16
  executables: []
25
-
26
17
  extensions: []
27
-
28
18
  extra_rdoc_files: []
29
-
30
- files:
19
+ files:
31
20
  - Gemfile
32
21
  - LICENSE
33
22
  - README.md
@@ -39,36 +28,26 @@ files:
39
28
  - lib/jsonview/version.rb
40
29
  homepage: https://github.com/pguillory/jsonview
41
30
  licenses: []
42
-
31
+ metadata: {}
43
32
  post_install_message:
44
33
  rdoc_options: []
45
-
46
- require_paths:
34
+ require_paths:
47
35
  - lib
48
- required_ruby_version: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- hash: 3
54
- segments:
55
- - 0
56
- version: "0"
57
- required_rubygems_version: !ruby/object:Gem::Requirement
58
- none: false
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- hash: 3
63
- segments:
64
- - 0
65
- version: "0"
36
+ required_ruby_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ required_rubygems_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
66
46
  requirements: []
67
-
68
47
  rubyforge_project:
69
- rubygems_version: 1.8.24
48
+ rubygems_version: 2.0.3
70
49
  signing_key:
71
- specification_version: 3
72
- summary: Rack middleware to convert JSON responses into attractive HTML representations. Mimics the JSONView browser plugin.
50
+ specification_version: 4
51
+ summary: Rack middleware to convert JSON responses into attractive HTML representations.
52
+ Mimics the JSONView browser plugin.
73
53
  test_files: []
74
-