Sha256: 31cdf6a64d8c3a80fbf871c5e0a41ba0ffdc5edb05515493a745cc9a6704227c
Contents?: true
Size: 468 Bytes
Versions: 7
Compression:
Stored size: 468 Bytes
Contents
module Spruz class Bijection < Hash def initialize(inverted = Bijection.new(self)) @inverted = inverted end def fill if empty? yield self freeze end self end def freeze r = super unless @inverted.frozen? @inverted.freeze end r end def []=(key, value) return if key?(key) super @inverted[value] = key end attr_reader :inverted end end
Version data entries
7 entries across 7 versions & 1 rubygems