Class Hashery::Association
In: lib/hashery/association.rb
Parent: Object

Association is a general binary association that allows one object to be associated with another. It has a variety of uses, such as linked-lists, simple ordered maps and mixed collections, among them.

NOTE: This class is still fairly experimental. And it is not loaded along with the other Hashery libraries when using `require ‘hashery’`. It must be required independently.

Associations can be used to draw simple relationships.

  :Apple >> :Fruit
  :Apple >> :Red

  :Apple.associations #=> [ :Fruit, :Red ]

It can also be used for simple lists of ordered pairs.

  c = [ :a >> 1, :b >> 2 ]
  c.each { |k,v| puts "#{k} associated with #{v} }

produces

  a associated with 1
  b associated with 2

The method :>> is used to construct the association. It is a rarely used method so it is generally available. But you can‘t use it for any of the following classes becuase they use #>> for other things.

  Bignum
  Fixnum
  Date
  IPAddr
  Process::Status

Methods

<=>   []   inspect   invert!   new   reference   to_ary   to_s  

Included Modules

Comparable

Classes and Modules

Module Hashery::Association::Kernel

Attributes

index  [RW]  The "index key" of the association.
value  [RW]  The "value" of the association.

Public Class methods

Shortcut for new.

index - The "index key" of the association. value - The "value" of the association.

Returns `Association`.

Initialize new Association.

index - The "index key" of the association. value - The "value" of the association.

Store association references.

Returns `Hash` of all associaitons.

Public Instance methods

Compare the values of two associations.

TODO: Comparions with non-associations?

assoc - The other `Association`.

Returns [Integer] `1`, `0`, or `-1`.

Produce a literal code string for creating an association.

Returns [String].

Invert association, making the index the value and vice-versa.

Returns [Array] with two-elements reversed.

Convert to two-element associative array.

Returns [Array] Two-element Array of index and value pair.

Produce a string representation.

Returns [String].

[Validate]