lib/jrjackson/jrjackson.rb in jrjackson-0.2.5 vs lib/jrjackson/jrjackson.rb in jrjackson-0.2.6
- old
+ new
@@ -1,22 +1,22 @@
unless RUBY_PLATFORM =~ /java/
puts "This library is only compatible with a java-based ruby environment like JRuby."
exit 255
end
-require_relative "jars/jrjackson-1.2.7.jar"
-# require_relative "linked/jrjackson-1.2.7.jar"
+require_relative "jars/jrjackson-1.2.8.jar"
+# require_relative "linked/jrjackson-1.2.8.jar"
require 'com/jrjackson/jr_jackson'
module JrJackson
module Json
class << self
TIME_REGEX = %r(\A(\d{4}-\d\d-\d\d|(\w{3}\s){2}\d\d)\s\d\d:\d\d:\d\d)
def load(json_string, options = nil)
- if json_string.is_a?(String) && json_string =~ TIME_REGEX
+ if json_string.is_a?(String) && is_time_string?(json_string)
return JrJackson::Raw.parse_raw("\"#{json_string}\"")
end
if options && !options.empty?
if options.size == 1 && !!options[:raw]
@@ -50,8 +50,16 @@
end
end
alias :parse :load
alias :generate :dump
+
+ private
+
+ def is_time_string?(json_string)
+ json_string =~ TIME_REGEX
+ rescue => e
+ raise JrJackson::ParseError, e.message
+ end
end
end
end