# File lib/recursive_open_struct/dig.rb, line 6 def dig(name, *names) begin name = name.to_sym rescue NoMethodError raise TypeError, "#{name} is not a symbol nor a string" end name_val = self[name] if names.length > 0 && name_val.respond_to?(:dig) name_val.dig(*names) else name_val end end