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