Skip to content

Commit 5ec2b17

Browse files
committed
Convert README to markdown
1 parent 5f1c958 commit 5ec2b17

File tree

4 files changed

+35
-35
lines changed

4 files changed

+35
-35
lines changed

README.rdoc renamed to README.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
= JSON implementation for Ruby {<img src="https://secure.travis-ci.org/flori/json.png" />}[http://travis-ci.org/flori/json]
1+
# JSON implementation for Ruby {<img src="https://secure.travis-ci.org/flori/json.png" />}[http://travis-ci.org/flori/json]
22

3-
== Description
3+
## Description
44

55
This is a implementation of the JSON specification according to RFC 4627
66
http://www.ietf.org/rfc/rfc4627.txt . Starting from version 1.0.0 on there
@@ -14,14 +14,14 @@ will be two variants available:
1414
http://www.complang.org/ragel/ .
1515

1616
Both variants of the JSON generator generate UTF-8 character sequences by
17-
default. If an :ascii_only option with a true value is given, they escape all
17+
default. If an :ascii\_only option with a true value is given, they escape all
1818
non-ASCII and control characters with \uXXXX escape sequences, and support
1919
UTF-16 surrogate pairs in order to be able to generate the whole range of
2020
unicode code points.
2121

2222
All strings, that are to be encoded as JSON strings, should be UTF-8 byte
2323
sequences on the Ruby side. To encode raw binary strings, that aren't UTF-8
24-
encoded, please use the to_json_raw_object method of String (which produces
24+
encoded, please use the to\_json\_raw\_object method of String (which produces
2525
an object, that contains a byte array) and decode the result on the receiving
2626
endpoint.
2727

@@ -32,7 +32,7 @@ String#encoding set. If a document string has ASCII-8BIT as an encoding the
3232
parser attempts to figure out which of the UTF encodings from above it is and
3333
trys to parse it.
3434

35-
== Installation
35+
## Installation
3636

3737
It's recommended to use the extension variant of JSON, because it's faster than
3838
the pure ruby variant. If you cannot build it on your system, you can settle
@@ -63,18 +63,18 @@ with:
6363

6464
# gem install json_pure
6565

66-
== Compiling the extensions yourself
66+
## Compiling the extensions yourself
6767

6868
If you want to create the parser.c file from its parser.rl file or draw nice
6969
graphviz images of the state machines, you need ragel from:
7070
http://www.complang.org/ragel/
7171

72-
== Usage
72+
## Usage
7373

7474
To use JSON you can
7575
require 'json'
7676
to load the installed variant (either the extension 'json' or the pure
77-
variant 'json_pure'). If you have installed the extension variant, you can
77+
variant 'json\_pure'). If you have installed the extension variant, you can
7878
pick either the extension variant or the pure variant by typing
7979
require 'json/ext'
8080
or
@@ -87,8 +87,8 @@ Now you can parse a JSON document into a ruby data structure by calling
8787
If you want to generate a JSON document from a ruby data structure call
8888
JSON.generate(data)
8989

90-
You can also use the pretty_generate method (which formats the output more
91-
verbosely and nicely) or fast_generate (which doesn't do any of the security
90+
You can also use the pretty\_generate method (which formats the output more
91+
verbosely and nicely) or fast\_generate (which doesn't do any of the security
9292
checks generate performs, e. g. nesting deepness checks).
9393

9494
To create a valid JSON document you have to make sure, that the output is
@@ -123,7 +123,7 @@ To get the best compatibility to rails' JSON implementation, you can
123123
Both of the additions attempt to require 'json' (like above) first, if it has
124124
not been required yet.
125125

126-
== More Examples
126+
## More Examples
127127

128128
To create a JSON document from a ruby data structure, you can call
129129
JSON.generate like that:
@@ -140,11 +140,11 @@ JSON.parse on it:
140140
Note, that the range from the original data structure is a simple
141141
string now. The reason for this is, that JSON doesn't support ranges
142142
or arbitrary classes. In this case the json library falls back to call
143-
Object#to_json, which is the same as #to_s.to_json.
143+
Object#to\_json, which is the same as #to\_s.to\_json.
144144

145145
It's possible to add JSON support serialization to arbitrary classes by
146-
simply implementing a more specialized version of the #to_json method, that
147-
should return a JSON object (a hash converted to JSON with #to_json) like
146+
simply implementing a more specialized version of the #to\_json method, that
147+
should return a JSON object (a hash converted to JSON with #to\_json) like
148148
this (don't forget the *a for all the arguments):
149149

150150
class Range
@@ -156,15 +156,15 @@ this (don't forget the *a for all the arguments):
156156
end
157157
end
158158

159-
The hash key 'json_class' is the class, that will be asked to deserialise the
159+
The hash key 'json\_class' is the class, that will be asked to deserialise the
160160
JSON representation later. In this case it's 'Range', but any namespace of
161161
the form 'A::B' or '::A::B' will do. All other keys are arbitrary and can be
162162
used to store the necessary data to configure the object to be deserialised.
163163

164-
If a the key 'json_class' is found in a JSON object, the JSON parser checks
165-
if the given class responds to the json_create class method. If so, it is
164+
If a the key 'json\_class' is found in a JSON object, the JSON parser checks
165+
if the given class responds to the json\_create class method. If so, it is
166166
called with the JSON object converted to a Ruby hash. So a range can
167-
be deserialised by implementing Range.json_create like this:
167+
be deserialised by implementing Range.json\_create like this:
168168

169169
class Range
170170
def self.json_create(o)
@@ -182,7 +182,7 @@ Now it possible to serialise/deserialise ranges as well:
182182
JSON.generate always creates the shortest possible string representation of a
183183
ruby data structure in one line. This is good for data storage or network
184184
protocols, but not so good for humans to read. Fortunately there's also
185-
JSON.pretty_generate (or JSON.pretty_generate) that creates a more readable
185+
JSON.pretty\_generate (or JSON.pretty\_generate) that creates a more readable
186186
output:
187187

188188
puts JSON.pretty_generate([1, 2, {"a"=>3.141}, false, true, nil, 4..10])
@@ -206,14 +206,14 @@ output:
206206
]
207207

208208
There are also the methods Kernel#j for generate, and Kernel#jj for
209-
pretty_generate output to the console, that work analogous to Core Ruby's p and
209+
pretty\_generate output to the console, that work analogous to Core Ruby's p and
210210
the pp library's pp methods.
211211

212212
The script tools/server.rb contains a small example if you want to test, how
213213
receiving a JSON object from a webrick server in your browser with the
214214
javasript prototype library http://www.prototypejs.org works.
215215

216-
== Speed Comparisons
216+
## Speed Comparisons
217217

218218
I have created some benchmark results (see the benchmarks/data-p4-3Ghz
219219
subdir of the package) for the JSON-parser to estimate the speed up in the C
@@ -292,10 +292,10 @@ speed:
292292

293293
In the table above 1-3 are JSON::Ext::Generator methods. 4, 6, and 7 are
294294
JSON::Pure::Generator methods and 5 is the Rails JSON generator. It is now a
295-
bit faster than the generator_safe and generator_pretty methods of the pure
295+
bit faster than the generator\_safe and generator\_pretty methods of the pure
296296
variant but slower than the others.
297297

298-
To achieve the fastest JSON document output, you can use the fast_generate
298+
To achieve the fastest JSON document output, you can use the fast\_generate
299299
method. Beware, that this will disable the checking for circular Ruby data
300300
structures, which may cause JSON to go into an infinite loop.
301301

@@ -326,15 +326,15 @@ Here are the median comparisons for completeness' sake:
326326
calls/sec ( time) -> speed covers
327327
secs/call
328328

329-
== Author
329+
## Author
330330

331331
Florian Frank <mailto:[email protected]>
332332

333-
== License
333+
## License
334334

335335
Ruby License, see https://www.ruby-lang.org/en/about/license.txt.
336336

337-
== Download
337+
## Download
338338

339339
The latest version of this library can be downloaded at
340340

Rakefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ if defined?(Gem) and defined?(Gem::PackageTask)
8686
s.add_development_dependency 'permutation'
8787
s.add_development_dependency 'rake'
8888

89-
s.extra_rdoc_files << 'README.rdoc'
89+
s.extra_rdoc_files << 'README.md'
9090
s.rdoc_options <<
91-
'--title' << 'JSON implemention for ruby' << '--main' << 'README.rdoc'
91+
'--title' << 'JSON implemention for ruby' << '--main' << 'README.md'
9292
s.test_files.concat Dir['./tests/test_*.rb']
9393

9494
s.author = "Florian Frank"
@@ -122,9 +122,9 @@ if defined?(Gem) and defined?(Gem::PackageTask)
122122
s.require_path = 'lib'
123123
s.add_development_dependency 'permutation'
124124

125-
s.extra_rdoc_files << 'README.rdoc'
125+
s.extra_rdoc_files << 'README.md'
126126
s.rdoc_options <<
127-
'--title' << 'JSON implemention for Ruby' << '--main' << 'README.rdoc'
127+
'--title' << 'JSON implemention for Ruby' << '--main' << 'README.md'
128128
s.test_files.concat Dir['./tests/test_*.rb']
129129

130130
s.author = "Florian Frank"

json.gemspec

-6 Bytes
Binary file not shown.

json_pure.gemspec

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ Gem::Specification.new do |s|
88
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
99
s.require_paths = ["lib"]
1010
s.authors = ["Florian Frank"]
11-
s.date = "2015-10-20"
11+
s.date = "2015-11-06"
1212
s.description = "This is a JSON implementation in pure Ruby."
1313
s.email = "[email protected]"
14-
s.extra_rdoc_files = ["README.rdoc"]
15-
s.files = ["./tests/test_json.rb", "./tests/test_json_addition.rb", "./tests/test_json_encoding.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_generate.rb", "./tests/test_json_generic_object.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_unicode.rb", ".gitignore", ".travis.yml", "CHANGES", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "ext/json/ext/fbuffer/fbuffer.h", "ext/json/ext/generator/depend", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/generator.h", "ext/json/ext/parser/depend", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/parser.h", "ext/json/ext/parser/parser.rl", "ext/json/extconf.rb", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/generic_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_generic_object.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb"]
14+
s.extra_rdoc_files = ["README.md"]
15+
s.files = ["./tests/test_json.rb", "./tests/test_json_addition.rb", "./tests/test_json_encoding.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_generate.rb", "./tests/test_json_generic_object.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_unicode.rb", ".gitignore", ".travis.yml", "CHANGES", "Gemfile", "README-json-jruby.markdown", "README.md", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "ext/json/ext/fbuffer/fbuffer.h", "ext/json/ext/generator/depend", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/generator.h", "ext/json/ext/parser/depend", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/parser.h", "ext/json/ext/parser/parser.rl", "ext/json/extconf.rb", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/generic_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_generic_object.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb"]
1616
s.homepage = "http://flori.github.com/json"
1717
s.licenses = ["Ruby"]
18-
s.rdoc_options = ["--title", "JSON implemention for ruby", "--main", "README.rdoc"]
19-
s.rubygems_version = "2.4.8"
18+
s.rdoc_options = ["--title", "JSON implemention for ruby", "--main", "README.md"]
19+
s.rubygems_version = "2.5.0"
2020
s.summary = "JSON Implementation for Ruby"
2121
s.test_files = ["./tests/test_json.rb", "./tests/test_json_addition.rb", "./tests/test_json_encoding.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_generate.rb", "./tests/test_json_generic_object.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_unicode.rb"]
2222

0 commit comments

Comments
 (0)