1
0
Fork 0
mirror of https://github.com/pry/pry-rails.git synced 2022-11-09 12:36:03 -05:00
Rails >= 3 pry initializer
Find a file
Ryan Fitzgerald be97a215a4 Fix compatibility of specs with Mongoid and Rails 5.1
- Mongoid needs to be loaded before Rails initializes

 - Rails 5.1 changed the necessary requires to invoke `console`
2017-05-05 23:38:00 -07:00
gemfiles Merge pull request #67 from hbd225/add_rails5_support 2015-02-07 22:41:56 -08:00
lib Bump version to 0.3.6 2017-03-25 17:15:03 -07:00
spec Fix compatibility of specs with Mongoid and Rails 5.1 2017-05-05 23:38:00 -07:00
.gitignore Update gems to latest versions, add explicit gemfiles to repo, and add .travis.yml 2013-07-24 09:16:28 -07:00
Appraisals Merge pull request #67 from hbd225/add_rails5_support 2015-02-07 22:41:56 -08:00
Gemfile initial commit 2011-08-27 12:50:23 +02:00
LICENCE MIT License 2012-06-08 10:49:07 +02:00
pry-rails.gemspec Bump minimum required pry version to 0.10.4 2017-02-15 19:53:46 -08:00
Rakefile Fix compatibility of specs with Mongoid and Rails 5.1 2017-05-05 23:38:00 -07:00
Readme.md Removed wrong / in pry-everywhere link. 2017-03-20 12:10:40 +01:00

Description

Avoid repeating yourself, use pry-rails instead of copying the initializer to every rails project. This is a small gem which causes rails console to open pry. It therefore depends on pry.

Prerequisites

  • A Rails >= 3.0 Application
  • Ruby >= 1.9

Installation

Add this line to your gemfile:

gem 'pry-rails', :group => :development

bundle install and enjoy pry.

Usage

$ rails console
[1] pry(main)> show-routes
     pokemon POST   /pokemon(.:format)      pokemons#create
 new_pokemon GET    /pokemon/new(.:format)  pokemons#new
edit_pokemon GET    /pokemon/edit(.:format) pokemons#edit
             GET    /pokemon(.:format)      pokemons#show
             PUT    /pokemon(.:format)      pokemons#update
             DELETE /pokemon(.:format)      pokemons#destroy
        beer POST   /beer(.:format)         beers#create
    new_beer GET    /beer/new(.:format)     beers#new
   edit_beer GET    /beer/edit(.:format)    beers#edit
             GET    /beer(.:format)         beers#show
             PUT    /beer(.:format)         beers#update
             DELETE /beer(.:format)         beers#destroy
[2] pry(main)> show-routes --grep beer
        beer POST   /beer(.:format)         beers#create
    new_beer GET    /beer/new(.:format)     beers#new
   edit_beer GET    /beer/edit(.:format)    beers#edit
             GET    /beer(.:format)         beers#show
             PUT    /beer(.:format)         beers#update
             DELETE /beer(.:format)         beers#destroy
[3] pry(main)> show-routes --grep new
 new_pokemon GET    /pokemon/new(.:format)  pokemons#new
    new_beer GET    /beer/new(.:format)     beers#new
[4] pry(main)> show-models
Beer
  id: integer
  name: string
  type: string
  rating: integer
  ibu: integer
  abv: integer
  created_at: datetime
  updated_at: datetime
  belongs_to hacker
Hacker
  id: integer
  social_ability: integer
  created_at: datetime
  updated_at: datetime
  has_many pokemons
  has_many beers
Pokemon
  id: integer
  name: string
  caught: binary
  species: string
  abilities: string
  created_at: datetime
  updated_at: datetime
  belongs_to hacker
  has_many beers through hacker

$ DISABLE_PRY_RAILS=1 rails console
irb(main):001:0>

Custom Rails prompt

If you want to include the current Rails environment and project name in the pry prompt, put the following lines in your project's .pryrc:

if defined?(PryRails::RAILS_PROMPT)
  Pry.config.prompt = PryRails::RAILS_PROMPT
end

Developing and Testing

To generate Gemfiles for Rails 3.0, 3.1, 3.2, 4.0, 4.1, and 4.2, run rake appraisal:gemfiles appraisal:install.

You can then run the tests across all four versions with rake appraisal. You can also manually run the Rails console and server with rake appraisal console and rake appraisal server.

For a specific version of Rails, use rake appraisal:rails30, rake appraisal:rails31, rake appraisal:rails32, etc.

Alternative

If you want to enable pry everywhere, make sure to check out pry everywhere.