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.
[Screencast] Searchkick and Elasticsearch
Add full text searching using Searchkick and Elasticsearch. Here I will show the steps involved in adding this search to an existing application and a sample of autocomplete functionality. https://www.driftingruby.com/episodes/searchkick-and-elasticsearch
Omnivore API with Ruby on Rails
Accessing Omnivore API with Ruby on Rails Read more
TTY 0.6.0 release with new website!
The terminal toolkit tty sports a new shiny website and adds new components such as tty-file or tty-editor. Enjoy!
SpreadsheetArchitect v2.0.0 Released!
I just released v2.0.0 of my gem SpreadsheetArchitect. It includes many new styling features, enhanced cell types, multi-sheet creation capabilities, and much more. If you have not heard of it before, this library makes spreadsheet generation a breeze. https://github.com/westonganger/spreadsheet_architect
Efficiently Reindex Data in Searchkick 1
http://blog.nrowegt.com/event-driven-elasticsearch-bulk-updates/ explains how to setup efficient bulk reindexing for searchkick and elasticsearch using Rails callbacks and redis. Prior to Searchkick 2’s functionality, this is how bulk background reindexing was best implemented.
Using EXPLAIN ANALYZE to debug slow SQL queries
- Learn by example how we debugged a slow query on Reverb.com by using EXPLAIN ANALYZE.
AnyLogin - gem to quickly login as any user
Using Devise? Do you want to login as any user in system?
Flutterby Event Handling
I’m building a static site generator that can also be used as a full-on web application framework. Or is it a web application framework that can also be used as a static site generator? Seriously, what is this thing? Have I simply had too much chocolate milk again? Read more
acts_as_list refactoring part 2
In part 2 I continue refactoring acts_as_list Rails gem. I touch on better naming, mass assignment protection, singleton methods. Read more
The Importance of Benchmarking on Production: Redis Edition
There comes a time to benchmark your application and its services . However, if it’s not done properly, then your results can very misleading. In this post, I’ll throw some numbers at you to demonstrate the massive differences between benchmarking locally, on production, and locally pointing at a cloud resource. The numbers for each set of tests are different by an order of magnitude, demonstrating the importance of using the proper setup. Read more
Parsing PDFs using Tika and Nokogiri and indexing them for searching using Algolia
A step-by-step blog post I made showing how to use Apache Tika to extract text from a PDF file (it supports thousands of other files), parsing the resulting HTML with Nokogiri, then getting the resulting data easily indexed and searchable using Algolia.
A Secure JWT Authentication Implementation for Rack and Rails
I would like to share two Ruby libraries I made in order to implement some security tips in JWT token authentication. One of them is warden-jwt_auth, which can be used in any Rack application that uses Warden as authentication library. The other one is devise-jwt, which is just a thin layer on top of the first that automatically configures for devise and, subsequently, for Ruby on Rails. Read more
Rails DB version 1.4.1
let me just notify you about fixing an old issue with STI models and Rails DB gem. Now this issue is finally gone + added more specs to make sure it works in Rails 5. Read more
Setting up a simple Rails development environment with Docker for fun and profit
Creating a development environment may seem like a trivial task for many developers. As time progresses, and we find ourselves dwelling through the life cycle of so many projects, one probably ends up with a fragile and cluttered development machine, filled with an entropic set of unmanageable services and library versions, ultimately getting to a point where things simply start to crack without any apparent reason. Read more
Fluent Interfaces in Ruby ecosystem
You already used fluent interfaces multiple times as a Ruby developer. Although you might not have done it consciously. And maybe you haven’t built yourself a class with such API style yet. Let me present you a couple of examples from Ruby and its ecosystem and how I designed such API in my use-case.
Install and SSH to Ubuntu Server on VirtualBox
This tutorial on the Treehouse blog will help you set up a virtual production server for testing out various deployment scenarios. The post will walk you through setting up a virtual machine on VirtualBox running Ubuntu Server (a common OS for Rails production deployments). Then, you’ll learn how to set up port forwarding so you can SSH from your development system into the virtual server.
Bulk, Background Elasticsearch Reindexing with Searckick 2
Lots of reindex requests slowing down your elasticsearch cluster and Rails app? This post details how to setup bulk background reindexing with Searchkick 2, as well as diving into some benchmarks and other thoughts on the process. It’s much quicker than reindexing directly in your web thread, or even using individual reindex jobs and will reduce the load on your cluster accordingly. Read more
Pretty URLs in Ruby on Rails with FriendlyId
A quick tutorial on how to add pretty URLs in Ruby on Rails with FriendlyId.
StateInspector 1.0.0 Released! Introspection & Debug Tool. via @6ftdan
I’m proud to say I’ve released a project StateInspector at 1.0.0! This tool boasts the ability to listen to all method calls and report them in whichever fashion you choose to. Whether you want to log them to a log file or keep the data internally in simple collections. This tool will help you know what’s going on and in what order! danielpclark/state_inspector
HexaPDF 0.3.0 - TTF Font Subsetting, CLI enhancements, funding call
I just released HexaPDF 0.3.0, now with TrueType font subsetting support, major CLI enhancements and a call for funding- see 
How can I help you solve your challenges related to deployment/operations/devops?
I’m the author of the Passenger app server. We’re on a mission to make Unix server tools easier to use, more convenient, more robust and generally more awesome. So we are thinking about what we should work on next. Read more
Building a reusable tool
Learn how to build a reusable tool from a specific solution. This is a follow-up to my previous post about keeping background jobs as small and close to the code as possible
PushType: the path to version 1.0
What started as an internal side project, our little Ruby content management system, PushType, was revealed as an open source project in 2016. Since then, developers around the World have been using PushType in their own projects and a small and friendly community is beginning to form. See what’s underway this year as we gear up for PushType version 1.0
Engineering Our Schemaless Data Store with Shameless
The hotel industry is full of big scale engineering challenges. One of them is how to manage the large volume of hotel rate updates while making reading them fast. In this article on Build Tonight, the HotelTonight team will show you how we’ve built an append-only, distributed, schemaless data store built on top of MySQL. Once our solution was battle-tested in production, we extracted it to a gem. That’s how Shameless was born. Read more