een shim is een kleine bibliotheek die oproepen naar een andere bibliotheek onderschept en wijzigt, voornamelijk om compatibiliteit te bevorderen.
het onderhouden van meerdere versies van een bibliotheek is noodzakelijk om uw clients te ondersteunen. Shim-bibliotheken vertalen oude naar nieuwe library-oproepen voordat ze doorsturen naar de nieuwe library.
Voorbeeld 1:
Linux-installaties worden normaal gesproken geleverd met een enkele Ruby-versie. Ruby ontwikkelaars moeten verschillende Ruby versies hebben op hun vele actieve projecten. Rbenv gebruikt shims om dit probleem op te lossen.
het uitvoeren van een Ruby commando in Linux betekent het controleren van het uitvoerbare bestand in het pad — dat het van links naar rechts doorzoekt. Het uitvoeren van het Ruby Commando rails serverbetekent dat Linux Rails, een Ruby uitvoerbaar bestand, in de eerste directory vindt en uitvoert.