fjson 0.0.4 → 0.0.5

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/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: