/usr/lib/ruby/vendor_ruby/multi_json/options.rb is in ruby-multi-json 1.8.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | module MultiJson
module Options
def load_options=(options)
MultiJson.reset_cached_options!
@load_options = options
end
def dump_options=(options)
MultiJson.reset_cached_options!
@dump_options = options
end
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
|