hash_methods/subclass_brackets_no_parens.rb

tests/_examples/hash_methods/subclass_brackets_no_parens.rb in the metorex repository.

class StringKeyHash < Hash
  def [] key
    super key.to_s
  end

  def []= key, value
    super key.to_s, value
  end
end

observers = StringKeyHash.new
observers[:rates] = [:reload]
observers[:tariffs] ||= []
observers[:tariffs] << :refresh
observers[:rates] += [:audit]
p observers
p observers[:tariffs]

Output:

{"rates" => [:reload, :audit], "tariffs" => [:refresh]}
[:refresh]