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.
When Method Names Should Go Out with a Bang
Why do some methods in Ruby end with an exclamation mark while others don’t? This quick post explains the bang convention. http://www.rubyletter.com/blog/2017/01/31/when-to-use-ruby-bang.html
RSpec Refactoring Patterns: Extract Matcher
Extract Matcher is good for when you’ve got one or more expectations verifying state. By extracting well-named matchers, you can make the spec more readable. More at https://www.wetestrails.com/blog/extract-matcher (with code samples)
Working with the Evernote API in Rails
The Evernote API offers superb leverage for harnessing your data. You can improve on the Evernote ecosystem by bringing your technology to the table. Read more.
Blazer - a great tool to see what (data) you get
No matter what kind of online business you run, you also collect some data. To be honest we collect and store more and more data nowadays. The problem is that almost no one understands collected data and it cannot be used to make better business decisions. [more inside]
Flash card game Language Cards 0.1.0 has been released!
Cross-platform compatible command line flash card game for learning foreign languages with full internationalization support (I18n) and the ability to easily add flash cards with YAML files of your own. See: language_cards This version update features game mode swapping between translation-practice and typing-practice. Lots of code refactoring and added support for using a home sub-directory for adding flash-card files, or translation files.
Adding "Cart" feature to your KMS-powered website
Adding “Cart” feature to your website has never been so easy before KMS Shop release. Check out this extension: https://github.com/webgradus/kms_shop
How To Test Ruby CLI: Code Generators
One of the most difficult tasks I met during Hanami development is to write integration tests for the Command Line Interface (CLI). This challenge required a deep knowledge of the Ruby toolchain. https://lucaguidi.com/2017/02/01/how-to-test-ruby-cli-code-generators/
How to Integrate Bootstrap 4 with Rails 5
Learn how to integrate Twitter Bootstrap 4 with Rails 5 without using any gem. Faster upgrades and no gem dependencies? Sounds good to me!
Login as another user with devise_masquerade
This week on GoRails, we cover impersonating other users with the devise_masquerade gem.
JQuery-Free Rails and Legacy Browsers
Rails 5.1 will no longer depend on JQuery. I ran the UJS test suite on several versions of IE to see how nicely the new system plays with legacy browsers. - http://blog.honeybadger.io/jquery-free-rails-and-legacy-browsers/
Lite Cable – Rails-free Action Cable
Lite Cable (https://github.com/palkan/litecable) is a lightweight Action Cable implementation with business logic (channels, streams, etc) separated from low-level server implementation. [more inside]
How hash became faster in Ruby 2.4
The internal implementation of hash was changed in Ruby 2.4, such that it became faster out of the box. http://blog.redpanthers.co/behind-scenes-hash-table-performance-ruby-2-4/
Merge sidekiq jobs for bulk notifications
I made sidekiq middleware which enables to merge jobs occurring before the execution time. Please check and try it and tell me your feedbacks! [more inside]
Mastering Roda eBook
I’m in the process of writing an eBook about Roda. [more inside]
Learn how to achieve parallelism with Ruby MRI using I/O bound threads
Even with MRI’s GIL, you can achieve parallelism with Ruby when using IO-bound threads.
Thredded v0.9.4: Post preview, math, and more
Thredded, the best Rails forums engine, has just released v0.9.4. This release adds preview-as-you-type, a server-side rendered math plugin via KaTeX, and more. [more inside]
Event Sourcing - a practical example using Ruby
A blog article where I show how the many different concepts of event sourcing can come together.
SmartSeeds - gem for smart auto generating of new records with random values
https://github.com/Frylock13/smart_seeds It determines types of fields(attributes) of an ActiveRecord model and creates records with random values for each of these attributes. [more inside]
Adding Active Admin to a Rails 5 API Application
Rails 5 API applications don’t include the view-rendering functionality that Active Admin (and other admin dashboard gems) require in order to work. Nonetheless, we still want to use those admin panels to visualize and manage our API data, without having to abandon API-mode altogether. Here’s how to have the best of both worlds by installing Active Admin on a Rails 5 API-only app
ROM 3.0 Released
Check out the official announcement of rom 3.0.0 that ships with rom-sql 1.0.0 and rom-repository 1.0.0.
[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 [more inside]
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.