Best Ruby on Rails books worth reading.
Our new blog post series will recommend best Ruby on Rails books worth reading. To make things clear, we have divided this collection into separate parts according to the lev of experience.
We’re starting with: Entry Level.
9 New Features in Ruby 2.4 →
Story About Inesita, Ruby Frontend Framework →
Best Books to Learn Ruby on Rails by @ProgRails →
Terjira, CLI tool for JIRA →
Real-time audio processing with Ruby →
Introduction to ActiveRecord and ActiveModel Attributes API by @Azdaroth
Rails 5.0 is without a doubt a great release with plenty of useful changes and additions. The most notable change was probably ActionCable - the layer responsible for integrating your app with websockets. However, there were also other additions that could bring some substantial improvements to your Rails apps, but were a bit outshined by bigger changes. One of such features is Attributes API.
Read more
Ruby Elixir Nodejs Tools Comparison Matrix
Recently, I looked into Elixir and Nodejs and each has its own set of tools that are very similar to the tools I’ve seen in Ruby. It helped me a lot to list out a map of the tools. Here it is in case it is helpful for others:
https://blog.gitresolve.com/ruby-elixir-nodejs-tools-comparison-matrix-316e278793f9#.7c1jigohu
https://twitter.com/gitresolve
What’s Happening in Your Ruby Application? →
In Ruby we don’t have fancy tools like Java, but we have the ObjectSpace
module which can give you some information about the current state of your application…
Keeping Data Integrity in Check: Conditional Unique Indexes for Soft Delete by @Azdaroth
Soft delete is a pretty common feature in most of the applications. It may increase complexity of the queries, nevertheless, not deleting anything might be a right default as the data might prove to be useful in the future: for restoring if a record was removed by mistake, to derive some conclusions based on statistics and plenty of other purposes. It may seem like it’s a pretty trivial thing: just adding a column like deleted_at and filtering out records that have this value present. But what happens when you need to do some proper uniqueness validation on both model layer and database level? Let’s take a look what kind of problem can easily be overlooked and how it can be solved with a conditional index.
Read more
A Better Heroku Maintenance Mode with Wrenchmode by @wrenchmode →
Maintenance happens, and every user has seen the Heroku down for maintenance page. There’s a better, free way to create a maintenance plan for your Heroku app that will keep users informed with live updates.
I'm not testing those stupid views! →
Rails views can evolve into a complex mix of HTML and Ruby conditionals. Avoid writing complex tests by keeping views stupid.
On requests processing with Puma and Unicorn. Yet another introduction for newcomers.
A post describing basic differences between servers, focusing on multi-process single/multi thread approaches. Can be found here
Brief introduction to internationalization in Rails →
Want to internationalize and localize your Rails app and don’t know where to start? Need some help with i18n gem? Check out this post on @Prograils blog!
Brief introduction to internationalization in Rails by @ProgRails blog. →
Handy tutorial that briefly explains why do we need I18n gem and how it works?
Decoding Rails Magic: How Does ActiveJob Work? by @Azdaroth
Executing background jobs is quite a common feature in many of the web applications. Switching between different background processing frameworks used to be quite painful as most of them had different API for enqueuing jobs, enqueuing mailers and scheduling jobs. One of the great addition in Rails 4.2 was a solution to this problem: ActiveJob, which provides extra layer on top of background jobs framework and unifies the API regardless of the queue adapter you use. But how exactly does it work? What are the requirements for adding new queue adapters? What kind of API does ActiveJob provide? Let’s dive deep into the codebase and answer these and some other questions.
Read more