Sha256: 2291a2746ac8910becabb13ed2ea453824717c94e3b121d660f1a51b2dc6408a
Contents?: true
Size: 819 Bytes
Versions: 14
Compression:
Stored size: 819 Bytes
Contents
module MultiJson module Options attr_writer :load_options, :dump_options def load_options(*args) get_options :load_options, *args end def dump_options(*args) get_options :dump_options, *args end def default_load_options @default_load_options ||= {} end def default_dump_options @default_dump_options ||= {} end private 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 end end
Version data entries
14 entries across 14 versions & 5 rubygems