Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to Explore a Large Rails Application
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Nick Bienko
September 26, 2015
Programming
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to Explore a Large Rails Application
Rails Club 2015 talk by Nikolay Bienko
Nick Bienko
September 26, 2015
More Decks by Nick Bienko
See All by Nick Bienko
Monorails Application Design vs Cult of Microservices
bikolya
3
260
Other Decks in Programming
See All in Programming
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.4k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
270
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
580
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
400
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
190
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
170
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
600
Contextとはなにか
chiroruxx
1
360
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
350k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Facilitating Awesome Meetings
lara
57
7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
Exploring anti-patterns in Rails
aemeredith
3
420
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Chasing Engaging Ingredients in Design
codingconduct
0
220
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
BBQ
matthewcrist
89
10k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
850
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Transcript
How to Explore a Large Rails Application Nikolay Bienko, AT
Consulting @bikolyarb
[email protected]
Plan UI Traversing & Domain knowledge Get the app up
and running Estimate codebase Check out primary entities ApplicationController Follow main use cases POROs and pattern objects
UI Traversing & Domain knowledge Explore what is your app
about Documentation Grasp domain knowledge
None
None
Get the app up and running Make tests green bin/setup
rake --tasks routes.rb gemfile-verboser
None
None
None
None
gemfile-verboser
Estimate codebase rake stats wc -l app/models/**/*.rb | sort gem
‘rails-erd’ gem ‘railroady’
None
None
wc -l app/models/**/*.rb wc -l app/controllers/**/*.rb
gem ‘rails-erd’
gem ‘railroady’
Check out primary entities Entity-Relationship Diagrams schema.rb gem ‘annotate’
gem ‘annotate’
ApplicationController Callbacks Methods and helper methods Authentication
ApplicationController
Follow main use cases routes -> controller -> model ->
view pry pry-byebug stack-trace Introspection methods ctags Integration testing gem ‘rails-footnotes’ gem ‘state_machine’ with graphs
None
gem ‘rails-footnotes’
gem ‘state_machine’ with graphs
POROs and pattern objects lib app/services app/decorators app/facades app/helpers
Summary UI Traversing & Domain knowledge Get the app up
and running Estimate codebase Check out primary entities ApplicationController Follow main use cases POROs and pattern objects
None
None
Feedback is welcome Nikolay Bienko, AT Consulting @bikolyarb
[email protected]