At least from my experience and set up, this is not a proper way to make pry work under emacs 24.3 and current inf-ruby with MEPLA installation. Since this gist shows up quite high in google search result, I'd like to comment here what was the problem and how I solved it.
(add-to-list 'inf-ruby-implementations '("pry" . "pry")) causes init.el load error. It's already implemented in the inf-ruby.el source so I don't think it's necessary to add again.
(add-to-list 'inf-ruby-implementations '("pry" . "pry"))
(setq inf-ruby-default-implementation "pry") actually makes inf-ruby run the pry. However, with flaws. If pry is running with this set up and if I send the buffer/region/block, I get NameError: uninitialized constant IRB from (pry):1:in `__pry___'. Again, I looked into the inf-ruby.el source code and it looks like inf-ruby is already taking care of the pry smartly. So this set up shouldn't be added to init.el as well.
(setq inf-ruby-default-implementation "pry")
NameError: uninitialized constant IRB from (pry):1:in `__pry___'