module MultiJson::Options

Public Instance Methods

default_dump_options() click to toggle source
# File lib/multi_json/options.rb, line 26
def default_dump_options
  @default_dump_options ||= {}
end
default_load_options() click to toggle source
# File lib/multi_json/options.rb, line 22
def default_load_options
  @default_load_options ||= {}
end
dump_options(*args) click to toggle source
# File lib/multi_json/options.rb, line 18
def dump_options(*args)
  get_options :dump_options, *args
end
dump_options=(options) click to toggle source
# File lib/multi_json/options.rb, line 9
def dump_options=(options)
  MultiJson.reset_cached_options!
  @dump_options = options
end
load_options(*args) click to toggle source
# File lib/multi_json/options.rb, line 14
def load_options(*args)
  get_options :load_options, *args
end
load_options=(options) click to toggle source
# File lib/multi_json/options.rb, line 4
def load_options=(options)
  MultiJson.reset_cached_options!
  @load_options = options
end

Private Instance Methods

get_options(ivar, *args) click to toggle source
# File lib/multi_json/options.rb, line 32
def get_options(ivar, *args)
  defaults = send("default_#{ivar}")

  return defaults unless instance_variable_defined?("@#{ivar}")

  value = instance_variable_get("@#{ivar}")

  if value.respond_to?(:call) and value.arity
    value.arity == 0 ? value[] : value[*args]
  elsif Hash === value or value.respond_to?(:to_hash)
    value.to_hash
  else
    defaults
  end
end