fjson 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,6 @@
1
+ 2006-10-21 (0.0.5)
2
+ * Works on OSX.
3
+
1
4
  2006-10-17 (0.0.4)
2
5
  * Fixed compiler warnings.
3
6
 
data/Rakefile CHANGED
@@ -6,7 +6,6 @@ require 'rake/clean'
6
6
  require 'rake/testtask'
7
7
  require 'rake/rdoctask'
8
8
 
9
-
10
9
  task :default => [ :compile ] do
11
10
  end
12
11
 
@@ -52,33 +51,51 @@ fjson_extensions.each do |ext|
52
51
  end
53
52
 
54
53
  task :install do
55
- dir = File.dirname(__FILE__)
56
54
  fjson_extensions.each do |extension_path|
57
- binary_path = extension_binary_path(extension_path)
58
- cp binary_path, "#{dir}/lib/#{extension_path}.so"
55
+ library_path = library_path(extension_path)
56
+ raise "Extension binary for #{extension_path} does not exist. Did you run rake compile?" unless library_path
57
+ cp build_path(extension_path), library_path(extension_path)
59
58
  end
60
59
  end
61
60
 
62
61
  task :cleanup do
63
62
  fjson_extensions.each do |extension_path|
64
- rm extension_binary_path(extension_path)
65
- rm "#{extension_directory_path(extension_path)}/Rakefile"
63
+ library_path = library_path(extension_path)
64
+ rm library_path if library_path && File.exists?(library_path)
65
+ rake_file_path = "#{build_path(extension_path)}/Rakefile"
66
+ rm rake_file_path if rake_file_path && File.exists?(rake_file_path)
66
67
  end
67
68
  end
68
69
 
69
- def extension_binary_path(relative_extension_path)
70
- binary_name = File.basename(relative_extension_path) + ".so"
71
- directory = extension_directory_path(relative_extension_path)
72
- "#{directory}/#{binary_name}"
70
+ def build_path(relative_extension_path)
71
+ basename = "#{File.dirname(__FILE__)}/ext/#{relative_extension_path}/#{File.basename(relative_extension_path)}"
72
+ if File.exists?("#{basename}.so")
73
+ return "#{basename}.so"
74
+ elsif File.exists?("#{basename}.bundle")
75
+ return "#{basename}.bundle"
76
+ end
77
+ return nil
73
78
  end
74
79
 
75
- def extension_directory_path(relative_extension_path)
76
- base_extension_path = File.dirname(__FILE__) + "/ext"
77
- "#{base_extension_path}/#{relative_extension_path}"
80
+ def library_path(relative_extension_path)
81
+ build_path = build_path(relative_extension_path)
82
+ return nil unless build_path
83
+ extname = File.extname(build_path)
84
+ library_directory_path = File.dirname(__FILE__) + "/lib/" + File.dirname(relative_extension_path)
85
+ binary_name = "#{File.basename(relative_extension_path)}#{extname}"
86
+ "#{library_directory_path}/#{binary_name}"
87
+ end
88
+
89
+ def win32?
90
+ ENV["target_platform"] == "win32"
91
+ end
92
+
93
+ if win32?
94
+ #Rake::Task[].invoke
78
95
  end
79
96
 
80
97
  PKG_NAME = "fjson"
81
- PKG_VERSION = "0.0.4"
98
+ PKG_VERSION = "0.0.5"
82
99
  PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
83
100
  PKG_FILES = FileList[
84
101
  '[A-Z]*',
@@ -96,6 +113,7 @@ spec = Gem::Specification.new do |s|
96
113
  This library is a fork of Florian Frank's JSON library with key parts implemented
97
114
  in C for performance improvements.
98
115
  EOF
116
+ s.test_files = Dir.glob('spec/*_spec.rb')
99
117
  s.description = s.summary
100
118
 
101
119
  s.files = PKG_FILES.to_a
@@ -115,6 +133,10 @@ spec = Gem::Specification.new do |s|
115
133
  s.extensions = ["Rakefile"]
116
134
 
117
135
  s.add_dependency "mkrf", ">=0.1.2"
136
+
137
+ if win32?
138
+
139
+ end
118
140
  end
119
141
 
120
142
  Rake::GemPackageTask.new(spec) do |pkg|
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("array_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("false_class_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("float_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("hash_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("integer_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("nil_class_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("object_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("string_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("true_class_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("json_ext")
@@ -0,0 +1,3 @@
1
+ require 'mkmf'
2
+
3
+ create_makefile("state_ext")
data/rake_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
- def setup_extension(dir, extension=nil)
2
- ext_dir = "ext/#{dir}"
3
- extension = File.basename(dir) if extension.nil?
1
+ def setup_extension(extension_path, extension=nil)
2
+ ext_dir = "ext/#{extension_path}"
3
+ extension = File.basename(extension_path) if extension.nil?
4
4
  ext_so = "#{ext_dir}/#{extension}.#{Config::CONFIG['DLEXT']}"
5
5
 
6
6
  desc "Builds the #{extension} extension"
@@ -10,6 +10,10 @@ def setup_extension(dir, extension=nil)
10
10
  extconf "#{ext_dir}"
11
11
  end
12
12
 
13
+ create_so_file_tasks(ext_dir, ext_so)
14
+ end
15
+
16
+ def create_so_file_tasks(ext_dir, ext_so)
13
17
  ext_files = FileList[
14
18
  "#{ext_dir}/*.c",
15
19
  "#{ext_dir}/*.h",
@@ -17,7 +21,6 @@ def setup_extension(dir, extension=nil)
17
21
  "#{ext_dir}/Rakefile",
18
22
  "lib"
19
23
  ]
20
- ext_subdir = File.dirname(dir)
21
24
  file ext_so => ext_files do
22
25
  rake ext_dir
23
26
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: fjson
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.4
7
- date: 2006-10-17 00:00:00 -07:00
6
+ version: 0.0.5
7
+ date: 2006-10-21 00:00:00 -07:00
8
8
  summary: This library is for parsing JSON strings and unparsing ruby data structures. This library is a fork of Florian Frank's JSON library with key parts implemented in C for performance improvements.
9
9
  require_paths:
10
10
  - lib
@@ -29,84 +29,95 @@ post_install_message:
29
29
  authors:
30
30
  - Brian Takita
31
31
  files:
32
- - Rakefile
33
- - GPL
34
- - TODO
35
32
  - CHANGES
33
+ - GPL
34
+ - Rakefile
36
35
  - README
37
- - rake_helper.rb
38
- - install.rb
36
+ - TODO
39
37
  - hash_benchmark.rb
40
- - lib/parser.rb
38
+ - install.rb
39
+ - rake_helper.rb
41
40
  - lib/fjson.rb
42
- - lib/extensions/kernel.rb
41
+ - lib/parser.rb
43
42
  - lib/extensions/class.rb
43
+ - lib/extensions/kernel.rb
44
44
  - lib/extensions/string.rb
45
45
  - lib/json/editor.rb
46
+ - ext/extensions/array_ext/array_ext.h
46
47
  - ext/extensions/false_class_ext/false_class_ext.h
47
- - ext/extensions/hash_ext/hash_ext.h
48
- - ext/extensions/true_class_ext/true_class_ext.h
49
48
  - ext/extensions/float_ext/float_ext.h
49
+ - ext/extensions/hash_ext/hash_ext.h
50
+ - ext/extensions/integer_ext/integer_ext.h
51
+ - ext/extensions/nil_class_ext/nil_class_ext.h
50
52
  - ext/extensions/object_ext/object_ext.h
51
53
  - ext/extensions/string_ext/string_ext.h
52
- - ext/extensions/nil_class_ext/nil_class_ext.h
53
- - ext/extensions/integer_ext/integer_ext.h
54
- - ext/extensions/array_ext/array_ext.h
55
- - ext/state_ext/state_ext.h
54
+ - ext/extensions/true_class_ext/true_class_ext.h
56
55
  - ext/json_ext/json_ext.h
56
+ - ext/state_ext/state_ext.h
57
+ - ext/extensions/array_ext/array_ext.c
57
58
  - ext/extensions/false_class_ext/false_class_ext.c
58
- - ext/extensions/hash_ext/hash_ext.c
59
- - ext/extensions/true_class_ext/true_class_ext.c
60
59
  - ext/extensions/float_ext/float_ext.c
60
+ - ext/extensions/hash_ext/hash_ext.c
61
+ - ext/extensions/integer_ext/integer_ext.c
62
+ - ext/extensions/nil_class_ext/nil_class_ext.c
61
63
  - ext/extensions/object_ext/object_ext.c
62
64
  - ext/extensions/string_ext/string_ext.c
63
- - ext/extensions/nil_class_ext/nil_class_ext.c
64
- - ext/extensions/integer_ext/integer_ext.c
65
- - ext/extensions/array_ext/array_ext.c
66
- - ext/state_ext/state_ext.c
65
+ - ext/extensions/true_class_ext/true_class_ext.c
67
66
  - ext/json_ext/json_ext.c
67
+ - ext/state_ext/state_ext.c
68
+ - ext/extensions/array_ext/extconf.mkmf.rb
69
+ - ext/extensions/array_ext/extconf.rb
70
+ - ext/extensions/false_class_ext/extconf.mkmf.rb
68
71
  - ext/extensions/false_class_ext/extconf.rb
69
- - ext/extensions/hash_ext/extconf.rb
70
- - ext/extensions/true_class_ext/extconf.rb
72
+ - ext/extensions/float_ext/extconf.mkmf.rb
71
73
  - ext/extensions/float_ext/extconf.rb
74
+ - ext/extensions/hash_ext/extconf.mkmf.rb
75
+ - ext/extensions/hash_ext/extconf.rb
76
+ - ext/extensions/integer_ext/extconf.mkmf.rb
77
+ - ext/extensions/integer_ext/extconf.rb
78
+ - ext/extensions/nil_class_ext/extconf.mkmf.rb
79
+ - ext/extensions/nil_class_ext/extconf.rb
80
+ - ext/extensions/object_ext/extconf.mkmf.rb
72
81
  - ext/extensions/object_ext/extconf.rb
82
+ - ext/extensions/string_ext/extconf.mkmf.rb
73
83
  - ext/extensions/string_ext/extconf.rb
74
- - ext/extensions/nil_class_ext/extconf.rb
75
- - ext/extensions/integer_ext/extconf.rb
76
- - ext/extensions/array_ext/extconf.rb
77
- - ext/state_ext/extconf.rb
84
+ - ext/extensions/true_class_ext/extconf.mkmf.rb
85
+ - ext/extensions/true_class_ext/extconf.rb
86
+ - ext/json_ext/extconf.mkmf.rb
78
87
  - ext/json_ext/extconf.rb
79
- - spec/true_class_spec.rb
80
- - spec/float_spec.rb
81
- - spec/string_spec.rb
82
- - spec/object_spec.rb
83
- - spec/nil_class_spec.rb
88
+ - ext/state_ext/extconf.mkmf.rb
89
+ - ext/state_ext/extconf.rb
84
90
  - spec/array_spec.rb
85
- - spec/spec_helper.rb
86
91
  - spec/false_class_spec.rb
87
- - spec/string_when_not_supporting_unicode_and_kcode_is_not_utf8_json_spec.rb
88
- - spec/state_spec.rb
92
+ - spec/float_spec.rb
89
93
  - spec/hash_spec.rb
90
- - spec/spec_suite.rb
91
94
  - spec/integer_spec.rb
95
+ - spec/nil_class_spec.rb
96
+ - spec/object_spec.rb
97
+ - spec/spec_helper.rb
98
+ - spec/spec_suite.rb
99
+ - spec/state_spec.rb
100
+ - spec/string_spec.rb
101
+ - spec/string_when_not_supporting_unicode_and_kcode_is_not_utf8_json_spec.rb
92
102
  - spec/string_when_supporting_unicode_and_kcode_is_not_utf8_json_spec.rb
93
103
  - spec/string_with_latin1_character_set_json_spec.rb
94
104
  - spec/string_with_utf8_values_when_supporting_unicode_json_spec.rb
95
- test_files:
96
105
  - spec/true_class_spec.rb
97
- - spec/float_spec.rb
98
- - spec/string_spec.rb
99
- - spec/object_spec.rb
100
- - spec/nil_class_spec.rb
106
+ test_files:
101
107
  - spec/array_spec.rb
102
108
  - spec/false_class_spec.rb
103
- - spec/string_when_not_supporting_unicode_and_kcode_is_not_utf8_json_spec.rb
104
- - spec/state_spec.rb
109
+ - spec/float_spec.rb
105
110
  - spec/hash_spec.rb
106
111
  - spec/integer_spec.rb
112
+ - spec/nil_class_spec.rb
113
+ - spec/object_spec.rb
114
+ - spec/state_spec.rb
115
+ - spec/string_spec.rb
116
+ - spec/string_when_not_supporting_unicode_and_kcode_is_not_utf8_json_spec.rb
107
117
  - spec/string_when_supporting_unicode_and_kcode_is_not_utf8_json_spec.rb
108
118
  - spec/string_with_latin1_character_set_json_spec.rb
109
119
  - spec/string_with_utf8_values_when_supporting_unicode_json_spec.rb
120
+ - spec/true_class_spec.rb
110
121
  rdoc_options: []
111
122
 
112
123
  extra_rdoc_files: