Skip to content

Instantly share code, notes, and snippets.

Created August 3, 2012 11:48
Show Gist options
  • Save anonymous/32786311bebcb04b4033 to your computer and use it in GitHub Desktop.
Save anonymous/32786311bebcb04b4033 to your computer and use it in GitHub Desktop.
class Aliaser
def initialize ; @aliases = {} ; end
def lookup(src) ; @aliases[src] ; end
def alias(sources, dst)
sources.each {|src| @aliases[src] = dst }
@aliases[dst] = dst
end
end
p = Aliases.new
p.alias %w|protos proto xorgprotos xorg1 x1 1|, 'xorg_protos'
p.alias %w|utils xorgutils xorg2 x2 2|, 'xorg_utils'
p.alias %w|libs libraries xorg3 xorglibraries x3 3|, 'xorg_libraries'
p.alias %w|data xorg4 xorgdata x4 4|, 'xorg_data'
# ...
p.lookup('libs') # => 'xorg_libraries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment