class HashIdentable::LookupTable
Public Instance Methods
fetch(key, &blk)
click to toggle source
# File lib/hash_identable/lookup_table.rb, line 21 def fetch key, &blk begin return de_serialize(self[key]) rescue return blk.call if block_given? return nil end end
fetch_id(klass, &blk)
click to toggle source
# File lib/hash_identable/lookup_table.rb, line 11 def fetch_id klass, &blk begin klass = serialzie(klass) return invert[klass] rescue return blk.call if block_given? return nil end end
store(key, klass)
click to toggle source
Calls superclass method
# File lib/hash_identable/lookup_table.rb, line 30 def store key, klass klass = serialzie(klass) if has_key?(key) raise "Id's for objects must be unique" end if has_value?(klass) raise "Object is already registered" end super(key, klass) end
Private Instance Methods
de_serialize(klass)
click to toggle source
# File lib/hash_identable/lookup_table.rb, line 46 def de_serialize klass klass.to_s.camelize end
serialzie(klass)
click to toggle source
# File lib/hash_identable/lookup_table.rb, line 42 def serialzie klass klass.to_s.underscore end