module MultiJson::Options

Attributes

dump_options[W]
load_options[W]

Public Instance Methods

default_dump_options() click to toggle source
# File lib/multi_json/options.rb, line 17
def default_dump_options
  @default_dump_options ||= {}
end
default_load_options() click to toggle source
# File lib/multi_json/options.rb, line 13
def default_load_options
  @default_load_options ||= {}
end
dump_options(*args) click to toggle source
# File lib/multi_json/options.rb, line 9
def dump_options(*args)
  get_options :dump_options, *args
end
load_options(*args) click to toggle source
# File lib/multi_json/options.rb, line 5
def load_options(*args)
  get_options :load_options, *args
end

Private Instance Methods

get_options(ivar, *args) click to toggle source
# File lib/multi_json/options.rb, line 23
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