Sha256: fa3744d36ecb2c274b217b6858a20db3be6848d09ee70c3d67a3aadebbbfe01f

Contents?: true

Size: 724 Bytes

Versions: 9

Compression:

Stored size: 724 Bytes

Contents

class PairHash

  def initialize( *args )
    @outer = Hash.new([])
  end

  def add_entry( x, y, z )
    a = [y,z]
    @outer[x] << a
    a
  end

  def del_entry( x, y=nil )
    if y
      @outer[x].reject! { |e| e[0] == y }
    else
      @outer.delete(x)
    end
  end

  def inner_value?( v, x, y ) 
    @outer[x].select { |e| e == [y,v] }
  end

end


# test

if $0 == __FILE__

  require 'test/unit'

  class TC < Test::Unit::TestCase

    def setup
      @ph = ::PairHash.new
    end
  
    def test01
      @ph.add_entry( "x", "aa", 2 )
      @ph.add_entry( "x", "aa", 3 )
      @ph.add_entry( "x", "bb", "boo" )
    end
   
    def test02
      assert( @ph.inner_value?( 3, "x", "aa" ) )
    end
   
  end

end


Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
facets-1.4.1 forge/more/pairhash.rb
facets-1.4.2 forge/more/pairhash.rb
facets-1.4.3 forge/more/pairhash.rb
facets-1.4.5 snip/more/pairhash.rb
facets-1.4.4 forge/more/pairhash.rb
facets-1.8.49 work/more/pairhash.rb
facets-1.8.0 work/more/pairhash.rb
facets-1.8.20 work/more/pairhash.rb
facets-1.8.8 work/more/pairhash.rb