Я видел что DHH в своих скринкастах придерживается SRP, я наблюдаю что рельса придерживается LSP и ISP. Придерживайся сам OCP когда пишешь. Так же придерживайся DI когда проектируешь свои классы, ничего страшного что классы фреймворка не придерживаются этого правила