Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Refactoring towards Component-based Rails Archi...

shagemann
April 23, 2014

Refactoring towards Component-based Rails Architectures @ RailsConf 2014

You have a big Rails app and are feeling the pains? Stories are hard to deliver, code is hard to refactor, and your tests take a looong time? Getting you and your codebase out of this situation requires you to stop developing a "Rails application” and start refactoring towards your domain. I will discuss how and where you refactor towards a more structured and manageable application, a component-based Rails architecture.

shagemann

April 23, 2014
Tweet

More Decks by shagemann

Other Decks in Technology

Transcript

  1. Rails TV Shows with Social Network Global Admin Show Admin

    SMS Interface Social Network Publisher Admin UI Users and Channels
  2. - “Ain't We Got Fun?” - Gus Kahn, Raymond B.

    Egan the rich get richer and the poor get—children!
  3. Big Open-Source Rails Apps browsercms! calagator! canvas-lms! citizenry! diaspora opencongress!

    opengovernment! portlandcrime! railscollab! rubygems.org locomotivecms! fat_free_crm! fulcrum! loc_counts! onebody skyline! snorby! spot-us! spree! teambox tracks
  4. id name home 1 Kate Chicago 2 Pete Boulder 3

    Ian Boulder 4 Sam Chicago users table users model
  5. id name code 1 red #FF0000 2 green #00FF00 3

    blue #0000FF 4 yellow #FFFF00 colors table colors model
  6. How many has many? ack " has_many " -c |

    awk -F ":" '{print $2,$1}' | grep -v "0" | sort -rn
  7. SRP - where? Method Class Namespace Component Application Now you

    can! Yes! Yes! You should! … Anyone? You should!
  8. Components over SOAs 1 repo 1 test suite (and splittable!)

    1 deployment no additional versioning constraints easier refactorings between parts