summaryrefslogtreecommitdiff
path: root/lib/coderay/encoders/json.rb
diff options
context:
space:
mode:
authormurphy <murphy@rubychan.de>2010-03-30 01:13:11 +0000
committermurphy <murphy@rubychan.de>2010-03-30 01:13:11 +0000
commit8f8d029f1e9ba286e43cedc274a89bae3fb318b4 (patch)
tree56e32bd33788c37f20a4d2f3bd51e58ad4c45022 /lib/coderay/encoders/json.rb
parent476bc1bfe2f2000acc665f034e7da19bd3f0cc6b (diff)
downloadcoderay-8f8d029f1e9ba286e43cedc274a89bae3fb318b4.tar.gz
Added documentation to encoders; more code cleanups.
Diffstat (limited to 'lib/coderay/encoders/json.rb')
-rw-r--r--lib/coderay/encoders/json.rb23
1 files changed, 16 insertions, 7 deletions
diff --git a/lib/coderay/encoders/json.rb b/lib/coderay/encoders/json.rb
index 7aa077c..78f0ec0 100644
--- a/lib/coderay/encoders/json.rb
+++ b/lib/coderay/encoders/json.rb
@@ -2,7 +2,20 @@
module CodeRay
module Encoders
- # = JSON Encoder
+ # A simple JSON Encoder.
+ #
+ # Example:
+ # CodeRay.scan('puts "Hello world!"', :ruby).json
+ # yields
+ # [
+ # {"type"=>"text", "text"=>"puts", "kind"=>"ident"},
+ # {"type"=>"text", "text"=>" ", "kind"=>"space"},
+ # {"type"=>"block", "action"=>"open", "kind"=>"string"},
+ # {"type"=>"text", "text"=>"\"", "kind"=>"delimiter"},
+ # {"type"=>"text", "text"=>"Hello world!", "kind"=>"content"},
+ # {"type"=>"text", "text"=>"\"", "kind"=>"delimiter"},
+ # {"type"=>"block", "action"=>"close", "kind"=>"string"},
+ # ]
class JSON < Encoder
register_for :json
@@ -50,10 +63,7 @@ require 'rubygems' if RUBY_VERSION < '1.9'
class JSONEncoderTest < Test::Unit::TestCase
def test_json_output
- tokens = CodeRay.scan <<-RUBY, :ruby
-puts "Hello world!"
- RUBY
- require 'json'
+ json = CodeRay.scan('puts "Hello world!"', :ruby).json
assert_equal [
{"type"=>"text", "text"=>"puts", "kind"=>"ident"},
{"type"=>"text", "text"=>" ", "kind"=>"space"},
@@ -62,8 +72,7 @@ puts "Hello world!"
{"type"=>"text", "text"=>"Hello world!", "kind"=>"content"},
{"type"=>"text", "text"=>"\"", "kind"=>"delimiter"},
{"type"=>"block", "action"=>"close", "kind"=>"string"},
- {"type"=>"text", "text"=>"\n", "kind"=>"space"}
- ], JSON.load(tokens.json)
+ ], JSON.load(json)
end
end \ No newline at end of file