json-utils 1.6.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.
@@ -0,0 +1,39 @@
1
+ # vim: set filetype=ruby et sw=2 ts=2:
2
+
3
+ require 'gem_hadar'
4
+
5
+ GemHadar do
6
+ name 'json-utils'
7
+ path_name 'json/utils'
8
+ path_module 'JSON::Utils'
9
+ author 'Florian Frank'
10
+ email 'flori@ping.de'
11
+ homepage "http://flori.github.com/#{name}"
12
+ summary 'Useful stuff.'
13
+ description 'Utilities for handling JSON data'
14
+ bindir 'bin'
15
+ executables << 'edit_json.rb' << 'prettify_json.rb'
16
+ ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc'
17
+ readme 'README.rdoc'
18
+
19
+ dependency 'spruz', '~>0.2.8'
20
+ dependency 'json', '~>1.6'
21
+ dependency 'gtk2', '~>1.0'
22
+
23
+ install_library do
24
+ for file in Dir['bin/*']
25
+ install file, File.join(CONFIG['bindir'], File.basename(file))
26
+ end
27
+ sitelibdir = CONFIG["sitelibdir"]
28
+ cd 'lib' do
29
+ mkdir_p File.join(sitelibdir, 'json')
30
+ for file in Dir['json/**/*.{rb,xpm}']
31
+ d = File.join(sitelibdir, file)
32
+ mkdir_p File.dirname(d)
33
+ install(file, d)
34
+ end
35
+ install(File.join('json', 'editor.rb'), File.join(sitelibdir,'json'))
36
+ install(File.join('json', 'json.xpm'), File.join(sitelibdir,'json'))
37
+ end
38
+ end
39
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.6.0
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ require 'json/editor'
3
+
4
+ filename, encoding = ARGV
5
+ JSON::Editor.start(encoding) do |window|
6
+ if filename
7
+ window.file_open(filename)
8
+ end
9
+ end
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+ require 'fileutils'
5
+ include FileUtils
6
+ require 'spruz/go'
7
+ include Spruz::GO
8
+
9
+ opts = go 'slhi:', args = ARGV.dup
10
+ if opts['h'] || opts['l'] && opts['s']
11
+ puts <<EOT
12
+ Usage: #{File.basename($0)} [OPTION] [FILE]
13
+
14
+ If FILE is skipped, this scripts waits for input from STDIN. Otherwise
15
+ FILE is opened, read, and used as input for the prettifier.
16
+
17
+ OPTION can be
18
+ -s to output the shortest possible JSON (precludes -l)
19
+ -l to output a longer, better formatted JSON (precludes -s)
20
+ -i EXT prettifies FILE in place, saving a backup to FILE.EXT
21
+ -h this help
22
+ EOT
23
+ exit 0
24
+ end
25
+
26
+ json_opts = { :max_nesting => false, :create_additions => false }
27
+
28
+ document =
29
+ if filename = args.first or filename == '-'
30
+ File.read(filename)
31
+ else
32
+ STDIN.read
33
+ end
34
+
35
+ json = JSON.parse document, json_opts
36
+
37
+ output = if opts['s']
38
+ JSON.fast_generate json, json_opts
39
+ else # default is -l
40
+ JSON.pretty_generate json, json_opts
41
+ end
42
+
43
+ if opts['i'] && filename
44
+ cp filename, "#{filename}.#{opts['i']}"
45
+ File.open(filename, 'w') { |f| f.puts output }
46
+ else
47
+ puts output
48
+ end
@@ -0,0 +1 @@
1
+ {"a":2,"b":3.141,"TIME":"2007-03-14T11:52:40","c":"c","d":[1,"b",3.14],"COUNT":666,"e":{"foo":"bar"},"foo":"B\u00e4r","g":"\u677e\u672c\u884c\u5f18","h":1000.0,"bar":"\u00a9 \u2260 \u20ac!","i":0.001,"j":"\ud840\udc01"}
@@ -0,0 +1,41 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "json-utils"
5
+ s.version = "1.6.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Florian Frank"]
9
+ s.date = "2011-09-12"
10
+ s.description = "Utilities for handling JSON data"
11
+ s.email = "flori@ping.de"
12
+ s.executables = ["edit_json.rb", "prettify_json.rb"]
13
+ s.extra_rdoc_files = ["README.rdoc", "lib/json/utils/version.rb", "lib/json/utils.rb", "lib/json/editor.rb"]
14
+ s.files = [".gitignore", "COPYING", "GPL", "Gemfile", "LICENSE", "README.rdoc", "Rakefile", "VERSION", "bin/edit_json.rb", "bin/prettify_json.rb", "data/example.json", "json-utils.gemspec", "lib/json/Array.xpm", "lib/json/FalseClass.xpm", "lib/json/Hash.xpm", "lib/json/Key.xpm", "lib/json/NilClass.xpm", "lib/json/Numeric.xpm", "lib/json/String.xpm", "lib/json/TrueClass.xpm", "lib/json/editor.rb", "lib/json/json.xpm", "lib/json/utils.rb", "lib/json/utils/version.rb"]
15
+ s.homepage = "http://flori.github.com/json-utils"
16
+ s.rdoc_options = ["--title", "Json-utils - Useful stuff.", "--main", "README.rdoc"]
17
+ s.require_paths = ["lib"]
18
+ s.rubygems_version = "1.8.10"
19
+ s.summary = "Useful stuff."
20
+
21
+ if s.respond_to? :specification_version then
22
+ s.specification_version = 3
23
+
24
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
+ s.add_development_dependency(%q<gem_hadar>, ["~> 0.0.12"])
26
+ s.add_runtime_dependency(%q<spruz>, ["~> 0.2.8"])
27
+ s.add_runtime_dependency(%q<json>, ["~> 1.6"])
28
+ s.add_runtime_dependency(%q<gtk2>, ["~> 1.0"])
29
+ else
30
+ s.add_dependency(%q<gem_hadar>, ["~> 0.0.12"])
31
+ s.add_dependency(%q<spruz>, ["~> 0.2.8"])
32
+ s.add_dependency(%q<json>, ["~> 1.6"])
33
+ s.add_dependency(%q<gtk2>, ["~> 1.0"])
34
+ end
35
+ else
36
+ s.add_dependency(%q<gem_hadar>, ["~> 0.0.12"])
37
+ s.add_dependency(%q<spruz>, ["~> 0.2.8"])
38
+ s.add_dependency(%q<json>, ["~> 1.6"])
39
+ s.add_dependency(%q<gtk2>, ["~> 1.0"])
40
+ end
41
+ end
@@ -0,0 +1,21 @@
1
+ /* XPM */
2
+ static char * Array_xpm[] = {
3
+ "16 16 2 1",
4
+ " c None",
5
+ ". c #000000",
6
+ " ",
7
+ " ",
8
+ " ",
9
+ " .......... ",
10
+ " . . ",
11
+ " . . ",
12
+ " . . ",
13
+ " . . ",
14
+ " . . ",
15
+ " . . ",
16
+ " . . ",
17
+ " . . ",
18
+ " .......... ",
19
+ " ",
20
+ " ",
21
+ " "};
@@ -0,0 +1,21 @@
1
+ /* XPM */
2
+ static char * False_xpm[] = {
3
+ "16 16 2 1",
4
+ " c None",
5
+ ". c #FF0000",
6
+ " ",
7
+ " ",
8
+ " ",
9
+ " ...... ",
10
+ " . ",
11
+ " . ",
12
+ " . ",
13
+ " ...... ",
14
+ " . ",
15
+ " . ",
16
+ " . ",
17
+ " . ",
18
+ " . ",
19
+ " ",
20
+ " ",
21
+ " "};
@@ -0,0 +1,21 @@
1
+ /* XPM */
2
+ static char * Hash_xpm[] = {
3
+ "16 16 2 1",
4
+ " c None",
5
+ ". c #000000",
6
+ " ",
7
+ " ",
8
+ " ",
9
+ " . . ",
10
+ " . . ",
11
+ " . . ",
12
+ " ......... ",
13
+ " . . ",
14
+ " . . ",
15
+ " ......... ",
16
+ " . . ",
17
+ " . . ",
18
+ " . . ",
19
+ " ",
20
+ " ",
21
+ " "};
@@ -0,0 +1,73 @@
1
+ /* XPM */
2
+ static char * Key_xpm[] = {
3
+ "16 16 54 1",
4
+ " c None",
5
+ ". c #110007",
6
+ "+ c #0E0900",
7
+ "@ c #000013",
8
+ "# c #070600",
9
+ "$ c #F6F006",
10
+ "% c #ECE711",
11
+ "& c #E5EE00",
12
+ "* c #16021E",
13
+ "= c #120900",
14
+ "- c #EDF12B",
15
+ "; c #000033",
16
+ "> c #0F0000",
17
+ ", c #FFFE03",
18
+ "' c #E6E500",
19
+ ") c #16021B",
20
+ "! c #F7F502",
21
+ "~ c #000E00",
22
+ "{ c #130000",
23
+ "] c #FFF000",
24
+ "^ c #FFE711",
25
+ "/ c #140005",
26
+ "( c #190025",
27
+ "_ c #E9DD27",
28
+ ": c #E7DC04",
29
+ "< c #FFEC09",
30
+ "[ c #FFE707",
31
+ "} c #FFDE10",
32
+ "| c #150021",
33
+ "1 c #160700",
34
+ "2 c #FAF60E",
35
+ "3 c #EFE301",
36
+ "4 c #FEF300",
37
+ "5 c #E7E000",
38
+ "6 c #FFFF08",
39
+ "7 c #0E0206",
40
+ "8 c #040000",
41
+ "9 c #03052E",
42
+ "0 c #041212",
43
+ "a c #070300",
44
+ "b c #F2E713",
45
+ "c c #F9DE13",
46
+ "d c #36091E",
47
+ "e c #00001C",
48
+ "f c #1F0010",
49
+ "g c #FFF500",
50
+ "h c #DEDE00",
51
+ "i c #050A00",
52
+ "j c #FAF14A",
53
+ "k c #F5F200",
54
+ "l c #040404",
55
+ "m c #1A0D00",
56
+ "n c #EDE43D",
57
+ "o c #ECE007",
58
+ " ",
59
+ " ",
60
+ " .+@ ",
61
+ " #$%&* ",
62
+ " =-;>,') ",
63
+ " >!~{]^/ ",
64
+ " (_:<[}| ",
65
+ " 1234567 ",
66
+ " 890abcd ",
67
+ " efghi ",
68
+ " >jkl ",
69
+ " mnol ",
70
+ " >kl ",
71
+ " ll ",
72
+ " ",
73
+ " "};
@@ -0,0 +1,21 @@
1
+ /* XPM */
2
+ static char * False_xpm[] = {
3
+ "16 16 2 1",
4
+ " c None",
5
+ ". c #000000",
6
+ " ",
7
+ " ",
8
+ " ",
9
+ " ... ",
10
+ " . . ",
11
+ " . . ",
12
+ " . . ",
13
+ " . . ",
14
+ " . . ",
15
+ " . . ",
16
+ " . . ",
17
+ " . . ",
18
+ " ... ",
19
+ " ",
20
+ " ",
21
+ " "};
@@ -0,0 +1,28 @@
1
+ /* XPM */
2
+ static char * Numeric_xpm[] = {
3
+ "16 16 9 1",
4
+ " c None",
5
+ ". c #FF0000",
6
+ "+ c #0000FF",
7
+ "@ c #0023DB",
8
+ "# c #00EA14",
9
+ "$ c #00FF00",
10
+ "% c #004FAF",
11
+ "& c #0028D6",
12
+ "* c #00F20C",
13
+ " ",
14
+ " ",
15
+ " ",
16
+ " ... +++@#$$$$ ",
17
+ " .+ %& $$ ",
18
+ " . + $ ",
19
+ " . + $$ ",
20
+ " . ++$$$$ ",
21
+ " . + $$ ",
22
+ " . + $ ",
23
+ " . + $ ",
24
+ " . + $ $$ ",
25
+ " .....++++*$$ ",
26
+ " ",
27
+ " ",
28
+ " "};
@@ -0,0 +1,96 @@
1
+ /* XPM */
2
+ static char * String_xpm[] = {
3
+ "16 16 77 1",
4
+ " c None",
5
+ ". c #000000",
6
+ "+ c #040404",
7
+ "@ c #080806",
8
+ "# c #090606",
9
+ "$ c #EEEAE1",
10
+ "% c #E7E3DA",
11
+ "& c #E0DBD1",
12
+ "* c #D4B46F",
13
+ "= c #0C0906",
14
+ "- c #E3C072",
15
+ "; c #E4C072",
16
+ "> c #060505",
17
+ ", c #0B0A08",
18
+ "' c #D5B264",
19
+ ") c #D3AF5A",
20
+ "! c #080602",
21
+ "~ c #E1B863",
22
+ "{ c #DDB151",
23
+ "] c #DBAE4A",
24
+ "^ c #DDB152",
25
+ "/ c #DDB252",
26
+ "( c #070705",
27
+ "_ c #0C0A07",
28
+ ": c #D3A33B",
29
+ "< c #020201",
30
+ "[ c #DAAA41",
31
+ "} c #040302",
32
+ "| c #E4D9BF",
33
+ "1 c #0B0907",
34
+ "2 c #030201",
35
+ "3 c #020200",
36
+ "4 c #C99115",
37
+ "5 c #080704",
38
+ "6 c #DBC8A2",
39
+ "7 c #E7D7B4",
40
+ "8 c #E0CD9E",
41
+ "9 c #080601",
42
+ "0 c #040400",
43
+ "a c #010100",
44
+ "b c #0B0B08",
45
+ "c c #DCBF83",
46
+ "d c #DCBC75",
47
+ "e c #DEB559",
48
+ "f c #040301",
49
+ "g c #BC8815",
50
+ "h c #120E07",
51
+ "i c #060402",
52
+ "j c #0A0804",
53
+ "k c #D4A747",
54
+ "l c #D6A12F",
55
+ "m c #0E0C05",
56
+ "n c #C8C1B0",
57
+ "o c #1D1B15",
58
+ "p c #D7AD51",
59
+ "q c #070502",
60
+ "r c #080804",
61
+ "s c #BC953B",
62
+ "t c #C4BDAD",
63
+ "u c #0B0807",
64
+ "v c #DBAC47",
65
+ "w c #1B150A",
66
+ "x c #B78A2C",
67
+ "y c #D8A83C",
68
+ "z c #D4A338",
69
+ "A c #0F0B03",
70
+ "B c #181105",
71
+ "C c #C59325",
72
+ "D c #C18E1F",
73
+ "E c #060600",
74
+ "F c #CC992D",
75
+ "G c #B98B25",
76
+ "H c #B3831F",
77
+ "I c #C08C1C",
78
+ "J c #060500",
79
+ "K c #0E0C03",
80
+ "L c #0D0A00",
81
+ " ",
82
+ " .+@# ",
83
+ " .$%&*= ",
84
+ " .-;>,')! ",
85
+ " .~. .{]. ",
86
+ " .^/. (_:< ",
87
+ " .[.}|$12 ",
88
+ " 345678}90 ",
89
+ " a2bcdefgh ",
90
+ " ijkl.mno ",
91
+ " <pq. rstu ",
92
+ " .]v. wx= ",
93
+ " .yzABCDE ",
94
+ " .FGHIJ ",
95
+ " 0KL0 ",
96
+ " "};
@@ -0,0 +1,21 @@
1
+ /* XPM */
2
+ static char * TrueClass_xpm[] = {
3
+ "16 16 2 1",
4
+ " c None",
5
+ ". c #0BF311",
6
+ " ",
7
+ " ",
8
+ " ",
9
+ " ......... ",
10
+ " . ",
11
+ " . ",
12
+ " . ",
13
+ " . ",
14
+ " . ",
15
+ " . ",
16
+ " . ",
17
+ " . ",
18
+ " . ",
19
+ " ",
20
+ " ",
21
+ " "};