Há tanto material existente aqui. Basta olhar para todas as dezenas de plugins existentes.
Aqui está um exemplo de como substituir o sistema onebox:
Note que o patching pode ser muito direcionado e inteligente (este plugin não é particularmente! Mas isso se deve em parte à estrutura deste código principal que torna as substituições necessariamente verbosas) e a arte é fazer o mínimo possível para obter o efeito desejado: se você está propondo substituir arquivos inteiros, talvez queira repensar sua abordagem geral.
E novamente, como disse Richard, você quase nunca (pelo menos em Ruby on Rails) substitui arquivos inteiros. Você precisa pensar em métodos.