30분 만에 Ruby로 최소한의 데코레이터 만들기

2025-06-12
30분 만에 Ruby로 최소한의 데코레이터 만들기

저자는 Rails 프로젝트에서 Teacher 모델에 뷰 관련 로직을 추가해야 했지만, 버전 호환성 문제로 draper gem을 사용할 수 없었습니다. 그래서 최소한의 데코레이터를 처음부터 만들었습니다. 처음에는 추가적인 동작을 추가했지만, 최종적으로는 이들을 추상화했습니다. 이 글에서는 Ruby의 method_missing을 사용하여 정의되지 않은 메서드 호출을 처리하는 방법과 상속과 SimpleDelegator를 사용하여 데코레이터 구현을 간소화하는 방법을 자세히 설명합니다. 최종 결과는 깔끔하고 효율적인 데코레이터이며, Rails 기본 동작과의 통합 문제를 해결합니다.

개발