The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Chain of Responsibility Pattern
The intent of Chain of Responsibility pattern is to decouple the sender of a request from its receiver by giving more than one object a chance to handle the request. http://rubyblog.pro/2017/11/chain-of-responsibility-ruby
Spend less on Google Translation API
How to significantly reduce your spending when you use Google Translation API to automatically translate long repetitive texts. This solution uses NLP techniques along with caching and have been turned into a gem for everyone to use.
AdequateErrors - Overcoming limitation of Rails model errors API
AdequateErrors gem aims to overcome limitations of ActiveModel#errors object by offering more fine-grained controls.
Handling HTTP OPTIONS in Rails in a clean way..
..which is perfect for API introspection (like providing request/response schemas etc). You can find more info here. Too bad that Rails doesn’t provide a cleaner way.
Observers in Padrino
An article how to use observers in Padrino under https://wikimatze.de/observers-in-padrino/
Instrumenting Ruby Methods
Instrumentation is the addition of measurement to code - for example timing how long Ruby is spending in a given method. Here I propose an unintrusive Ruby 2.0+ technique to add instrumentation to arbitrary methods.
Wrapping GitHub API endpoint with DuckRails & Embedded Ruby
DuckRails updated wiki pages now include a guide for wrapping existing endpoints with an example wrap of a GitHub endpoint with embedded ruby.
BitSettings transform a column of your model in a set of boolean settings.
BitSettings is a plugin for ActiveRecord that transform a column of your model in a set of boolean settings. https://github.com/pioz/bit_settings
Microservices for Startups
Microservices for Startups is a 12-chapter guide for engineering leaders and teams. It’s chalked full of practical advice and real examples for teams considering microservices. It’s designed as a reference book you can use as you navigate adopting Microservices in your company. [more inside]
Karafka (Ruby/Rails + Kafka) framework 1.1.0 Release Notes
Recently there has been a bigger release of Karafka, a Ruby + Kafka framework for Apache Kafka based Ruby and Rails applications development. This article covers major changes introduced with this release and provides some example use-cases on their usage. https://medium.com/@maciejmensfeld/karafka-ruby-kafka-framework-1-1-0-release-notes-b4c91170ecba
5 Ruby on Rails Tips You Probably Don’t Know
Sharing some rarely used Ruby on Rails tips in this article: https://medium.com/@igor.petrov/5-ruby-on-rails-tips-you-probably-dont-know-8b80b4a0890f
Atom Tricks, Plugins & Shortcuts for Ruby Developers
Improve your productivity as a Ruby developer by using the best Atom packages, shortcuts & tips! http://www.rubyguides.com/2017/11/atom-tricks-for-ruby-developers/
Are comments a code smell? Yes! No? It Depends.
Thoughts on an old question - are comments a code smell, yes or no? - many people seem to be either firmly on the yes or the no side when it comes to this. However, I think the question is much more nuanced than it is often made out to be. The post digs deeper.
Twitter mention feature for Rails Application
https://anotherengineeringblog.com/twitter-mention-feature-for-rails In this blog post I detail how you can implement Twitter’s mention feature so users of your Rails app can mention other users just by typing @username. I also include a link to a sample application on Github which shows how the feature works you can play around with. Happy deving!
Implementing a worker pool from scratch
In order to improve performance of an application without using tonnes of resources the Worker Pool is a simple and efficient solution that powers many concurrency patterns. Here we are going to build one from scratch and explore some scheduling algorithms. https://hspazio.github.io/2017/worker-pool/
AppPerf Updates (Opensource App Performance Monitoring)
Just wanted to reach out and share some updates around my open source application performance application AppPerf. Here is a list of some of the updates I have made recently. [more inside]
How we trick Bundler and cause interesting bugs
Debugging a memory usage problem in our system lead to some interesting insights and some bugfixes for Bundler. A story of debugging including a short excursion into MRI’s memory handling, specifically for arrays.
Tracking Rails errors with Errbit
Errbit is an open source, API compatible clone of Airbrake. You can deploy it to your own server and cheaply track errors from many Rails apps. Watch the screencast
Sniffer – Log and debug HTTP requests in your Ruby app.
Sniffer is a gem to log and debug all your HTTP requests. It is compatible with the most popular Ruby HTTP libraries.
New Jekyll Remote Theme in Action - Turn Your Text Notes into Live Slides w/ Jekyll
Hello, the latest and greatest plugin to GitHub Pages (and Jekyll) is Jekyll Remote Themes. Using a simple config entry you can “automagically” pull in remote themes (layouts, includes, javascripts, etc). To show off / test the new functionallity I’ve put together a minimal ready-to-use (fork/clone) setup called Talk Starter (S6 Blank) that turns your notes in plain text w/ markdown formatting conventions in live web slides (using the S6 blank machinery). See Blockchains!, Blockchains!, Blockhains! (Source) as example. Happy publishing w/ GitHub Pages (and Jekyll). Cheers.
Enough with leaked logic already
Sometimes Service Objects, while extremely useful, actually hurt your OOP design. Read more