# File lib/nested_multimap.rb, line 18 def store(*args) keys = args value = args.pop raise ArgumentError, 'wrong number of arguments (1 for 2)' unless value if keys.length > 1 update_container(keys.shift) do |container| container = self.class.new(container) unless container.is_a?(self.class) container[*keys] = value container end elsif keys.length == 1 super(keys.first, value) else self << value end end