class Hashery::StaticHash

StaticHash ia a Hash object which raises an error if any previously-defined key attempts to be set again.

foo = StaticHash.new
foo['name'] = 'Tom'    #=> 'Tom'
foo['age']  = 30       #=> 30
foo['name'] = 'Bob'

produces

ArgumentError: Duplicate key for StaticHash -- 'name'

StaticHash has it’s orgins in Gavin Kistner’s WriteOnceHash class found in his basiclibrary.rb script.

TODO: Maybe StaticHash isn’t bets name for this class?