rufus-json 0.2.5 → 0.2.6

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