class MultiJson::Adapter
Constants
- BLANK_RE
Public Class Methods
Source
# File lib/multi_json/adapter.rb, line 13 def defaults(action, value) value.freeze define_singleton_method("default_#{action}_options") { value } end
Source
# File lib/multi_json/adapter.rb, line 25 def dump(object, options = {}) instance.dump(object, cached_dump_options(options)) end
Source
# File lib/multi_json/adapter.rb, line 18 def load(string, options = {}) string = string.read if string.respond_to?(:read) raise self::ParseError if blank?(string) instance.load(string, cached_load_options(options)) end
Private Class Methods
Source
# File lib/multi_json/adapter.rb, line 31 def blank?(input) input.nil? || BLANK_RE.match?(input) rescue ArgumentError # invalid byte sequence in UTF-8 false end
Source
# File lib/multi_json/adapter.rb, line 37 def cached_dump_options(options) opts = options_without_adapter(options) OptionsCache.dump.fetch(opts) do dump_options(opts).merge(MultiJson.dump_options(opts)).merge!(opts) end end
Source
# File lib/multi_json/adapter.rb, line 44 def cached_load_options(options) opts = options_without_adapter(options) OptionsCache.load.fetch(opts) do load_options(opts).merge(MultiJson.load_options(opts)).merge!(opts) end end
Source
# File lib/multi_json/adapter.rb, line 51 def options_without_adapter(options) options[:adapter] ? options.except(:adapter) : options end