Для просмотра куда установлен 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 =>
Пример как это делается:
можно посмотреть тут