# File lib/dig_rb/struct.rb, line 13 def dig(name, *args) begin name = name.to_sym rescue NoMethodError raise TypeError, "#{name} is not a symbol nor a string" end return nil unless self.respond_to?(name) value = self.send(name) return value if args.length == 0 || value.nil? DigRb.guard_dig(value) value.dig(*args) end