Best service objects until now

Service objects was a big thing a couple years ago in Rails community, like everyone just learned about the single responsibility principle. In any case, personally I couldn’t find a Service Object pattern that I was happy with, neither from my brain nor from the Internetzz. Lately I have been using something that I can say it’s good enough. I call it PerformerService, meaning that it’s for service objects that should have a simple method, called perform. »

Creating methods dynamically in a Ruby object

It feels like Rails’ makes things hard when working with models that are not AR-related, which sees to be the case lately as we are integrating more and more external services. Sometimes you have a class, say User, that defines some methods like first_name, last_name etc. and you use an object of that class in forms in your Rails app. Now imagine that in a specific form you also need to render a couple more inputs, related to the user object BUT you don’t want to define those methods in your User class. »

With pattern in Ruby

I have been using lately this nitty gritty pattern mostly inspired by Ember’s with template helper. If you have an object (usually in your .erb template) which has a long diameter it becomes a bit problematic when you have to repeat it again and again.

»

Env variables inside Ember's index.html

Using environment variables in ember is straightforward: export your env vars using any tool like direnv and import them inside your config/environment.js using node’s process.ENV.YOUR_ENV_KEY.

»

An alternative to eval

When we define a closure in Ruby (a proc or a lambda), it encapsulates its lexical scope/environment. This means that even if you define a proc in point A in code, if you pass it around and call it in point B, it will still be able to reference variables and anything that is defined inside the lexical scope of point A (where it was defined). To put it in another way, it has “(en)closed its environment”. »