diff options
author | murphy <murphy@rubychan.de> | 2010-03-30 01:13:11 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2010-03-30 01:13:11 +0000 |
commit | 8f8d029f1e9ba286e43cedc274a89bae3fb318b4 (patch) | |
tree | 56e32bd33788c37f20a4d2f3bd51e58ad4c45022 /lib/coderay/encoders/json.rb | |
parent | 476bc1bfe2f2000acc665f034e7da19bd3f0cc6b (diff) | |
download | coderay-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.rb | 23 |
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 |