6:55 Play Subscribe with or Intro song by Falseta

Episode #445 – March 4th, 2014

9c5541e591a62dd93a2fd2d45b5732dd.jpg?s=18&r=pg&d=http%3a%2f%2fwww.gravatar.com%2favatar%2f8ebf4339f7c8cd73b53d1d1d3eba7c35 Olivier Lacan 0d2bf6fbf141a1995560fa9273992ff0.jpg?s=18&r=pg&d=http%3a%2f%2fwww.gravatar.com%2favatar%2f8ebf4339f7c8cd73b53d1d1d3eba7c35 Nathaniel Bibler

It's pattern-mania this week with: interactors, adapters and components-based architectures. Omniref allows us to take a step back to look at dependencies between popular Ruby libraries and we learn about RubyMotion gotchas for Rails developers.

Subscribe to our mailing list!

This episode is sponsored by Top Ruby Jobs. Everyone deserves to love their job (and it's probably in Ruby).

  • Top Ruby Jobs
  • Interactors
  • Component-based Architecture
  • RubyMotion Experiences
  • The Adapter Pattern
  • Ruby Universe
  • Ruby5

Component-based Architecture in Ruby and Rails Jump to Story

Speaking of Interactors or Service classes, there is a talk from Stephan Hagemann at MountainWest RubyConf 2013 that is a great overview on component-based architectures in Ruby and Rails. He shows with simple examples how you can extract self-contained business logic into modules, gems, engines, etc. He doesn’t actually use these as external gems. His central point seems to be that it’s easier to think about modules — even if you don’t fully extract them — when they have their own namespace. I tend to agree with him: clear naming tends to make it easier to see the edges of a class’s responsibility. As he demonstrates, the fact that a Rails app originally defines no namespaces sort of encourages a hodge podge mentality where responsibilities are mixed and it’s not clear what’s in charge of what exactly. Stephan shows how to create the gem structure without the need to run gem build or actually publish the gem itself. Instead it all stays within the Rails app despite. So he gets the benefits of a distinct interface and he can add the gem to the Gemfile using a local path. Ditto for mountable Rails engines.

October 24th, 2014

Enforcing your environment with ENVied, easier payment integration with Payola, faster logic with pippi, multithreading in MRI, and Practicing Rails.

October 21st, 2014

Aimee and Nate talk about UltraHook, Using Capybara in Integration Tests, Background Processing with Einhorn, Barcelona Ruby Conf Top 5, and Raptor.

October 16th, 2014

Unary Operators, Writing fast Ruby, each_with_object, ES6 Transpiler and HStore

October 14th, 2014

RailsRumble, Ruby Motion for Rails devs, how Ruby Hashes work, how to deal with data migrations, clean up your routes file, and get better logs.