rufus-json 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.txt CHANGED
@@ -2,6 +2,11 @@
2
2
  = rufus-json CHANGELOG.txt
3
3
 
4
4
 
5
+ == rufus-json - 0.2.6 released 2011/05/20
6
+
7
+ - Rufus::Json .dump and .load (aliases to .encode/.decode). Thanks @tenderlove
8
+
9
+
5
10
  == rufus-json - 0.2.5 released 2010/08/10
6
11
 
7
12
  - Rufus::Json.encode(o) now accepting string, numbers, boolean and null
data/Rakefile CHANGED
@@ -1,85 +1,85 @@
1
1
 
2
-
3
- require 'lib/rufus/json.rb'
2
+ $:.unshift('.') # 1.9.2
4
3
 
5
4
  require 'rubygems'
5
+ require 'rubygems/user_interaction' if Gem::RubyGemsVersion == '1.5.0'
6
+
6
7
  require 'rake'
8
+ require 'rake/clean'
9
+ require 'rake/rdoctask'
7
10
 
8
11
 
9
12
  #
10
- # CLEAN
13
+ # clean
11
14
 
12
- require 'rake/clean'
13
- CLEAN.include('pkg', 'tmp', 'html')
14
- task :default => [ :clean ]
15
+ CLEAN.include('pkg', 'rdoc')
15
16
 
16
17
 
17
18
  #
18
- # GEM
19
+ # test
19
20
 
20
- require 'jeweler'
21
+ #task :spec => :check_dependencies do
22
+ task :test do
23
+ sh 'ruby test/test.rb'
24
+ end
21
25
 
22
- Jeweler::Tasks.new do |gem|
26
+ task :default => :test
23
27
 
24
- gem.version = Rufus::Json::VERSION
25
- gem.name = 'rufus-json'
26
28
 
27
- gem.summary = 'One interface to various JSON ruby libs (yajl, json, json_pure, json-jruby, active_support). Has a preference for yajl.'
29
+ #
30
+ # gem
28
31
 
29
- gem.description = %{
30
- One interface to various JSON ruby libs (yajl, json, json_pure, json-jruby, active_support). Has a preference for yajl.
31
- }
32
- gem.email = 'jmettraux@gmail.com'
33
- gem.homepage = 'http://github.com/jmettraux/rufus-json/'
34
- gem.authors = [ 'John Mettraux', 'Torsten Schoenebaum' ]
35
- gem.rubyforge_project = 'rufus'
32
+ GEMSPEC_FILE = Dir['*.gemspec'].first
33
+ GEMSPEC = eval(File.read(GEMSPEC_FILE))
34
+ GEMSPEC.validate
36
35
 
37
- gem.test_file = 'test/test.rb'
38
36
 
39
- gem.add_development_dependency 'json'
40
- gem.add_development_dependency 'yajl-ruby'
41
- gem.add_development_dependency 'activesupport'
42
- #gem.add_development_dependency 'json_pure'
43
- #gem.add_development_dependency 'json-jruby'
44
- gem.add_development_dependency 'rake'
45
- gem.add_development_dependency 'yard'
46
- gem.add_development_dependency 'jeweler'
37
+ desc %{
38
+ builds the gem and places it in pkg/
39
+ }
40
+ task :build do
47
41
 
48
- # gemspec spec : http://www.rubygems.org/read/chapter/20
42
+ sh "gem build #{GEMSPEC_FILE}"
43
+ sh "mkdir pkg" rescue nil
44
+ sh "mv #{GEMSPEC.name}-#{GEMSPEC.version}.gem pkg/"
49
45
  end
50
- Jeweler::GemcutterTasks.new
51
46
 
47
+ desc %{
48
+ builds the gem and pushes it to rubygems.org
49
+ }
50
+ task :push => :build do
51
+
52
+ sh "gem push pkg/#{GEMSPEC.name}-#{GEMSPEC.version}.gem"
53
+ end
52
54
 
53
- #
54
- # DOC
55
55
 
56
- begin
56
+ #
57
+ # rdoc
58
+ #
59
+ # make sure to have rdoc 2.5.x to run that
57
60
 
58
- require 'yard'
61
+ Rake::RDocTask.new do |rd|
59
62
 
60
- YARD::Rake::YardocTask.new do |doc|
61
- doc.options = [
62
- '-o', 'html/rufus-json', '--title',
63
- "rufus-json #{Rufus::Json::VERSION}"
64
- ]
65
- end
63
+ rd.main = 'README.txt'
64
+ rd.rdoc_dir = "rdoc/#{GEMSPEC.name}"
66
65
 
67
- rescue LoadError
66
+ rd.rdoc_files.include('README.rdoc', 'CHANGELOG.txt', 'lib/**/*.rb')
68
67
 
69
- task :yard do
70
- abort "YARD is not available : sudo gem install yard"
71
- end
68
+ rd.title = "#{GEMSPEC.name} #{GEMSPEC.version}"
72
69
  end
73
70
 
74
71
 
75
72
  #
76
- # TO THE WEB
73
+ # upload_rdoc
77
74
 
78
- task :upload_website => [ :clean, :yard ] do
75
+ desc %{
76
+ upload the rdoc to rubyforge
77
+ }
78
+ task :upload_rdoc => [ :clean, :rdoc ] do
79
79
 
80
80
  account = 'jmettraux@rubyforge.org'
81
81
  webdir = '/var/www/gforge-projects/rufus'
82
82
 
83
- sh "rsync -azv -e ssh html/rufus-json #{account}:#{webdir}/"
83
+ sh "rsync -azv -e ssh rdoc/#{GEMSPEC.name} #{account}:#{webdir}/"
84
84
  end
85
85
 
data/lib/rufus/json.rb CHANGED
@@ -26,7 +26,7 @@
26
26
  module Rufus
27
27
  module Json
28
28
 
29
- VERSION = '0.2.5'
29
+ VERSION = '0.2.6'
30
30
 
31
31
  # The JSON / JSON pure decoder
32
32
  #
@@ -138,6 +138,13 @@ module Json
138
138
  end
139
139
  end
140
140
 
141
+ # An alias for .encode
142
+ #
143
+ def self.dump (o, opts={})
144
+
145
+ encode(o, opts)
146
+ end
147
+
141
148
  # Decodes the given JSON string.
142
149
  #
143
150
  def self.decode (s)
@@ -148,6 +155,13 @@ module Json
148
155
  raise ParserError.new(e.message)
149
156
  end
150
157
 
158
+ # An alias for .decode
159
+ #
160
+ def self.load (s)
161
+
162
+ decode(s)
163
+ end
164
+
151
165
  # Duplicates an object by turning it into JSON and back.
152
166
  #
153
167
  # Don't laugh, yajl-ruby makes that faster than a Marshal copy.
data/rufus-json.gemspec CHANGED
@@ -1,73 +1,37 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
+
3
+ require File.join(File.dirname(__FILE__), 'lib/rufus/json')
4
+ # bundler wants absolute path
5
+
5
6
 
6
7
  Gem::Specification.new do |s|
7
- s.name = %q{rufus-json}
8
- s.version = "0.2.5"
9
8
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["John Mettraux", "Torsten Schoenebaum"]
12
- s.date = %q{2010-08-10}
13
- s.description = %q{
9
+ s.name = 'rufus-json'
10
+ s.version = Rufus::Json::VERSION
11
+ s.platform = Gem::Platform::RUBY
12
+ s.authors = [ 'John Mettraux' ]
13
+ s.email = [ 'jmettraux@gmail.com' ]
14
+ s.homepage = 'http://github.com/jmettraux/rufus-json'
15
+ s.rubyforge_project = 'rufus'
16
+ s.summary = 'One interface to various JSON ruby libs (yajl, json, json_pure, json-jruby, active_support). Has a preference for yajl.'
17
+
18
+ s.description = %{
14
19
  One interface to various JSON ruby libs (yajl, json, json_pure, json-jruby, active_support). Has a preference for yajl.
15
- }
16
- s.email = %q{jmettraux@gmail.com}
17
- s.extra_rdoc_files = [
18
- "LICENSE.txt",
19
- "README.rdoc"
20
- ]
21
- s.files = [
22
- "CHANGELOG.txt",
23
- "CREDITS.txt",
24
- "LICENSE.txt",
25
- "README.rdoc",
26
- "Rakefile",
27
- "lib/rufus-json.rb",
28
- "lib/rufus/json.rb",
29
- "rufus-json.gemspec",
30
- "test/backend_test.rb",
31
- "test/do_test.rb",
32
- "test/nesting20.rb",
33
- "test/test.rb"
34
- ]
35
- s.homepage = %q{http://github.com/jmettraux/rufus-json/}
36
- s.rdoc_options = ["--charset=UTF-8"]
37
- s.require_paths = ["lib"]
38
- s.rubyforge_project = %q{rufus}
39
- s.rubygems_version = %q{1.3.6}
40
- s.summary = %q{One interface to various JSON ruby libs (yajl, json, json_pure, json-jruby, active_support). Has a preference for yajl.}
41
- s.test_files = [
42
- "test/test.rb"
20
+ }.strip
21
+
22
+ #s.files = `git ls-files`.split("\n")
23
+ s.files = Dir[
24
+ 'Rakefile',
25
+ 'lib/**/*.rb', 'spec/**/*.rb', 'test/**/*.rb',
26
+ '*.gemspec', '*.txt', '*.rdoc', '*.md'
43
27
  ]
44
28
 
45
- if s.respond_to? :specification_version then
46
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
47
- s.specification_version = 3
29
+ s.add_development_dependency 'json'
30
+ s.add_development_dependency 'json_pure'
31
+ s.add_development_dependency 'yajl-ruby'
32
+ s.add_development_dependency 'activesupport'
33
+ s.add_development_dependency 'rake'
48
34
 
49
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
50
- s.add_development_dependency(%q<json>, [">= 0"])
51
- s.add_development_dependency(%q<yajl-ruby>, [">= 0"])
52
- s.add_development_dependency(%q<activesupport>, [">= 0"])
53
- s.add_development_dependency(%q<rake>, [">= 0"])
54
- s.add_development_dependency(%q<yard>, [">= 0"])
55
- s.add_development_dependency(%q<jeweler>, [">= 0"])
56
- else
57
- s.add_dependency(%q<json>, [">= 0"])
58
- s.add_dependency(%q<yajl-ruby>, [">= 0"])
59
- s.add_dependency(%q<activesupport>, [">= 0"])
60
- s.add_dependency(%q<rake>, [">= 0"])
61
- s.add_dependency(%q<yard>, [">= 0"])
62
- s.add_dependency(%q<jeweler>, [">= 0"])
63
- end
64
- else
65
- s.add_dependency(%q<json>, [">= 0"])
66
- s.add_dependency(%q<yajl-ruby>, [">= 0"])
67
- s.add_dependency(%q<activesupport>, [">= 0"])
68
- s.add_dependency(%q<rake>, [">= 0"])
69
- s.add_dependency(%q<yard>, [">= 0"])
70
- s.add_dependency(%q<jeweler>, [">= 0"])
71
- end
35
+ s.require_path = 'lib'
72
36
  end
73
37
 
data/test/do_test.rb CHANGED
@@ -48,6 +48,16 @@ class DoTest < Test::Unit::TestCase
48
48
  assert_equal "[1,2,3]", Rufus::Json.encode([ 1, 2, 3 ])
49
49
  end
50
50
 
51
+ def test_load
52
+
53
+ assert_equal [ 1, 2, 3 ], Rufus::Json.load("[ 1, 2, 3 ]")
54
+ end
55
+
56
+ def test_dump
57
+
58
+ assert_equal "[1,2,3]", Rufus::Json.dump([ 1, 2, 3 ])
59
+ end
60
+
51
61
  def test_encode_value # instead of object or array
52
62
 
53
63
  assert_equal 'null', Rufus::Json.encode(nil)
metadata CHANGED
@@ -1,147 +1,148 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rufus-json
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 27
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 2
8
- - 5
9
- version: 0.2.5
9
+ - 6
10
+ version: 0.2.6
10
11
  platform: ruby
11
12
  authors:
12
13
  - John Mettraux
13
- - Torsten Schoenebaum
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-10 00:00:00 +09:00
18
+ date: 2011-05-20 00:00:00 +09:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: json
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
25
26
  requirements:
26
27
  - - ">="
27
28
  - !ruby/object:Gem::Version
29
+ hash: 3
28
30
  segments:
29
31
  - 0
30
32
  version: "0"
31
33
  type: :development
32
34
  version_requirements: *id001
33
35
  - !ruby/object:Gem::Dependency
34
- name: yajl-ruby
36
+ name: json_pure
35
37
  prerelease: false
36
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
37
40
  requirements:
38
41
  - - ">="
39
42
  - !ruby/object:Gem::Version
43
+ hash: 3
40
44
  segments:
41
45
  - 0
42
46
  version: "0"
43
47
  type: :development
44
48
  version_requirements: *id002
45
49
  - !ruby/object:Gem::Dependency
46
- name: activesupport
50
+ name: yajl-ruby
47
51
  prerelease: false
48
52
  requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
49
54
  requirements:
50
55
  - - ">="
51
56
  - !ruby/object:Gem::Version
57
+ hash: 3
52
58
  segments:
53
59
  - 0
54
60
  version: "0"
55
61
  type: :development
56
62
  version_requirements: *id003
57
63
  - !ruby/object:Gem::Dependency
58
- name: rake
64
+ name: activesupport
59
65
  prerelease: false
60
66
  requirement: &id004 !ruby/object:Gem::Requirement
67
+ none: false
61
68
  requirements:
62
69
  - - ">="
63
70
  - !ruby/object:Gem::Version
71
+ hash: 3
64
72
  segments:
65
73
  - 0
66
74
  version: "0"
67
75
  type: :development
68
76
  version_requirements: *id004
69
77
  - !ruby/object:Gem::Dependency
70
- name: yard
78
+ name: rake
71
79
  prerelease: false
72
80
  requirement: &id005 !ruby/object:Gem::Requirement
81
+ none: false
73
82
  requirements:
74
83
  - - ">="
75
84
  - !ruby/object:Gem::Version
85
+ hash: 3
76
86
  segments:
77
87
  - 0
78
88
  version: "0"
79
89
  type: :development
80
90
  version_requirements: *id005
81
- - !ruby/object:Gem::Dependency
82
- name: jeweler
83
- prerelease: false
84
- requirement: &id006 !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- segments:
89
- - 0
90
- version: "0"
91
- type: :development
92
- version_requirements: *id006
93
- description: "\n\
94
- One interface to various JSON ruby libs (yajl, json, json_pure, json-jruby, active_support). Has a preference for yajl.\n "
95
- email: jmettraux@gmail.com
91
+ description: One interface to various JSON ruby libs (yajl, json, json_pure, json-jruby, active_support). Has a preference for yajl.
92
+ email:
93
+ - jmettraux@gmail.com
96
94
  executables: []
97
95
 
98
96
  extensions: []
99
97
 
100
- extra_rdoc_files:
101
- - LICENSE.txt
102
- - README.rdoc
98
+ extra_rdoc_files: []
99
+
103
100
  files:
104
- - CHANGELOG.txt
105
- - CREDITS.txt
106
- - LICENSE.txt
107
- - README.rdoc
108
101
  - Rakefile
109
- - lib/rufus-json.rb
110
102
  - lib/rufus/json.rb
111
- - rufus-json.gemspec
103
+ - lib/rufus-json.rb
112
104
  - test/backend_test.rb
113
105
  - test/do_test.rb
114
106
  - test/nesting20.rb
115
107
  - test/test.rb
108
+ - rufus-json.gemspec
109
+ - CHANGELOG.txt
110
+ - CREDITS.txt
111
+ - LICENSE.txt
112
+ - README.rdoc
116
113
  has_rdoc: true
117
- homepage: http://github.com/jmettraux/rufus-json/
114
+ homepage: http://github.com/jmettraux/rufus-json
118
115
  licenses: []
119
116
 
120
117
  post_install_message:
121
- rdoc_options:
122
- - --charset=UTF-8
118
+ rdoc_options: []
119
+
123
120
  require_paths:
124
121
  - lib
125
122
  required_ruby_version: !ruby/object:Gem::Requirement
123
+ none: false
126
124
  requirements:
127
125
  - - ">="
128
126
  - !ruby/object:Gem::Version
127
+ hash: 3
129
128
  segments:
130
129
  - 0
131
130
  version: "0"
132
131
  required_rubygems_version: !ruby/object:Gem::Requirement
132
+ none: false
133
133
  requirements:
134
134
  - - ">="
135
135
  - !ruby/object:Gem::Version
136
+ hash: 3
136
137
  segments:
137
138
  - 0
138
139
  version: "0"
139
140
  requirements: []
140
141
 
141
142
  rubyforge_project: rufus
142
- rubygems_version: 1.3.6
143
+ rubygems_version: 1.5.0
143
144
  signing_key:
144
145
  specification_version: 3
145
146
  summary: One interface to various JSON ruby libs (yajl, json, json_pure, json-jruby, active_support). Has a preference for yajl.
146
- test_files:
147
- - test/test.rb
147
+ test_files: []
148
+