RR 353: Removing Business Logic from Rails Controllers with Aaron Sumner - podcast episode cover

RR 353: Removing Business Logic from Rails Controllers with Aaron Sumner

Mar 13, 201858 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Panel: 
  • Charles Max Wood
  • David Richards
Special Guests: Aaron SumnerIn this episode of Ruby Rogues, the panel discusses removing business logic from Rails controllers with Aaron Sumner. Aaron is a long time Ruby developer, using mostly Rails, writes a blog called Everyday Rails, and most people know him from his book, Everyday Rails Testing with RSpec: A practical approach to test-driven development. They discuss service objects, the pros and cons of using them, and they emphasize not trying to change something all at once, but gradually.In particular, we dive pretty deep on:
  • Aaron intro
  • How to test code without controller tests?
  • The cons to controller tests
  • Soft deprecation
  • If you’re not writing controller tests, what are you writing?
  • Get the code out of the controllers and test it in more isolation
  • Service objects
  • Problem with a controller having a lot of business logic in it
  • Rails
  • Cons of service objects
  • Using a service object inside of a controller
  • Pros of service objects
  • Getting smaller can happen step-wise
  • Re-architecting should happen gradually not all at once
  • When you write a service object, there is a flow to it
  • How writing his book impacted his views
  • Start small
  • And much, much more!
Links:Picks:CharlesDavidAaronSpecial Guest: Aaron Sumner.

Advertising Inquiries: https://redcircle.com/brands

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
For the best experience, listen in Metacast app for iOS or Android