Hire Us

Railsware Blog

on product management, engineering, design, culture and many more...

Criteria pattern applied for organizing complex filtering

When a complex filtering solution is required to be built, the code becomes a mess more often than not. Filtering records is a straightforward task on its own: just apply the required ActiveRecord scopes based on certain conditions of the given parameters. However, when dealing with intricate systems, such as …

Capistrano recipe for your favourite CI

The quality of features going to production is very important; and to guarantee the highest quality we use Continuous Integration in our everyday workflow. In one of his recent posts Sergii Boiko has described how to check Travis CI build status before delivering new code to production. Afterwards, we’ve also …

Organizing stylesheets in Ruby on Rails projects

Organizing stylesheets in Ruby on Rails projects

The asset pipeline in Ruby on Rails is a very powerful, but somewhat confusing feature. By default, Rails scaffold generates a stylesheet per controller so that your styles were organized according to your application’s domain model. Which is not really convenient when you are building a modular codebase and reusable …

Working with Auto Layout in iOS

The story behind my post below is that I’ve seen a lot of developers avoid using Auto Layout and the reason for this is that they don’t know it really well. Since I personally like exploring new stuff, this feature looked quite interesting to me and I decided to master …

Module example

Object Oriented Thinking in CSS: Modules

In one of our previous blog posts, we’ve already described Object Oriented Thinking and objects theory. But what if indivisible objects are not enough to have decent organization and structuring? Assembling application together from the huge set of atomic objects is not so easy. If your app has a quite …

Object Oriented Thinking in CSS

Most modern methodologies like OOCSS, BEM, SMACSS are all about learning to think about your UI and CSS in terms of objects. Which appeared to be really useful and flexible approach to organize and reuse code-base leaving it simple and DRY. Objects are simple independent and indivisible components that are …

Rails configuration in the proper way

Rails configuration in the proper way

Usually Rails application has multiple environments – production, development, test and staging; and quite often application behaves differently in each environment. Rails provides a simple way to inspect current environment: > Rails.env => “development” > Rails.env.development? => true But abusing Rails.env for adjusting application behaviour leads to serious issues with …

Dependency Injection in Objective-C with Blood and Magic

MVC is not sufficient Every day iOS apps become more cumbersome and bulky, which makes MVC approach not sufficient. We are seeing more and more classes for different purposes: app logic extracts into services, models extends with decorators, view separates into partials and so on. And – what is more …