4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/llt/helpers/transformer.rb', line 4
def to_hash(custom: {}, whitelist: [], blacklist: [], root: false, keys: :to_sym)
overwritten = custom.keys.map(&:to_sym)
res = instance_variables.each_with_object({}) do |var, hash|
sym = inst_to_sym(var)
next if whitelist.any? && ! whitelist.include?(sym)
next if blacklist.include?(sym)
next if overwritten.include?(sym)
hash[sym.send(keys)] = instance_variable_get(var)
end
res.merge!(custom)
if root
root = self.class.name if root == true
{ root => res }
else
res
end
end
|