מה זה ה-gems?
חלק מחבילת הקוד בruby
לגרום לסביבה לעבוד – להוציא את המקסימום מהקיים לפני החדש. על מנת שהסביבה תעבוד, לפעמים חייבים לשדרג את חלק מהתלויות (dependencies), במקרה של ruby on rails את ה-gems שהם חלק מחבילת הקוד בruby, כדאי לשדרג רק את התלויות שחייבים לעדכן כדי שהסביבה תעבוד. החוכמה הייתה למצוא את הגרסה הכי דומה לגרסה המקורית של כל gem, שעובדת עם הגרסה החדשה ולעבוד לפי עקרון מנחה של ביצוע כל שדרוג אפשרי בגרסה הישנה, ואז להביא למצב שהשינוי לגרסה החדשה הוא יותר קטן. ברגע שהפער בין השינויים בגרסה הישנה והחדשה קטן יותר – גם הסיכון קטן וזה מצב מצוין. למשל, אם אפשר לקחת גרסה של package שעובדת גם בגרסה הישנה של rails וגם בגרסה החדשה, צריך לעדכן אותו בגרסה הישנה, ואז השינוי במעבר לגרסה החדשה יורד למינימום.
gems הן חבילות קוד ב-Ruby.