빠른 참조

Pry Ruby REPL 치트시트

Pry 빠른 참조 가이드: 강력한 Ruby 런타임 개발자 콘솔, 내부 검사, 소스 코드 열람, 네비게이션 및 Rails 디버깅.

· 게시일

Pry는 소스 코드 브라우징, 구문 강조 및 상태 탐색 기능을 제공하는 Ruby의 강력한 런타임 개발자 콘솔이자 IRB 대체재입니다.

기본 탐색 및 컨텍스트 전환

# 객체나 클래스 내부로 스코프 이동 (디렉터리 이동과 유사)
[1] pry(main)> cd Array
[2] pry(Array):1> cd- ..
[3] pry(main)> cd User.first

# 현재 바인딩 중첩 깊이 확인
[4] pry(User):2> nesting

코드 및 문서 내부 검사 (Introspection)

# 콘솔에서 직접 메서드의 소스 코드 확인
show-source Array#select
show-source User#full_name

# 메서드의 YARD / RDoc 문서 확인
show-doc Array#compact

# 쿼리와 일치하는 메서드 검색
find-method each

변수 및 메서드 검사 (ls)

ls           # 메서드, 지역 변수 및 인스턴스 변수 나열
ls -m        # 현재 객체에 정의된 인스턴스 메서드 나열
ls -M        # 현재 클래스에 정의된 클래스 메서드 나열
ls -l        # 지역 변수 나열
ls -i        # 인스턴스 변수(@vars) 나열
ls -c        # 스코프에 정의된 상수 나열
ls -G regex  # 정규식과 일치하는 출력 필터링

세션 내 디버깅

# Ruby 코드 어디서든 Pry 콘솔로 진입
require 'pry'
binding.pry
  • wtf?: 가장 최근 발생한 예외의 백트레이스 출력.
  • hist: 입력 기록 표시.
  • edit Object#method: 설정된 $EDITOR에서 메서드 정의를 바로 열기.

Rails 통합 (pry-rails)

Gemfile에 pry-rails 추가:

group :development, :test do
  gem 'pry-rails'
end

rails console 내에서:

show-models      # 모든 데이터베이스 스키마와 연관 관계 출력
show-routes      # 라우팅 테이블 출력
show-middleware  # Rack 미들웨어 스택 출력

참고 자료

관련 주제