Куда устанавливаются gem файлы в RoR 4?
Для просмотра куда установлен gem:bundle show <name_gem>
для просмотра исходников, (по редактированию далее)EDITOR=vim bundle open <name_gem>
по поводу правок - изменять установленные гемы  не рекомендуется, пример, все ваши правки пропадут при обновлении gem`аВарианты:
1. расширить библиотеку посредством 'Monkey patch', достоинство, вы ни чего не правите в исходной библиотеке, недостатки, устранение ошибок после внесения автором gem`a изменений;
2. сделать локальную/удаленную (fork) копию,  и устанавливать эту версию, достоинство в контроле над происходящими с gem`ом изменениями. Выглядит это примерно так:cd <path>
gem unpuck <name_gem> (если без git`a)
git clone --bare <адрес> (если с git)
#... правки gem`a ...
# Вариант 1. Настройки Bundle, говорим, что <name_gem> локальный (главное не забыть об этом)
bundle config local.spree <path>/<name_gem>

# Вариант 2: Gemfile:
gem 'name_gem', path: <path> # локально
gem 'name_gem', :git => '<repo path/url>', :branch => 'you_hack_branch'
Относительно wil-paginate и его View`ихи. При показе пагинации можно указывать свой обработчик= will_paginate(.... :renderer =>
Пример как это делается: можно посмотреть тут
Обычно использую для расширения гемов такую схему
- для моделей и контроллеров гема, создаю в уже в своем приложении модель/контроллер с именем oldname_decorator.rb, где в class_eval do расширяю иои переопределяю исходный класс
- для вьюх - просто копируем соттв файл из гема в свое приложение, сохраняя структуру папок, начиная от view. При перезапуске вебсервера ваш файл заменит файл из гема.