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.
Flaky tests: a short story
How I tracked down a flaky test and some tips on how to do it. https://www.ombulabs.com/blog/rspec/continuous-integration/how-to-track-down-a-flaky-test.html
Tocer 5.0.0
Tocer (a.k.a. Table of Contenter) makes it easy to maintain the table of contents of your Markdown files. This improves the readability, adoption, and navigation of your private/public projects. This release includes safe defaults (i.e. README.md) and improved whitelist support. You can target specific files, wildcard files (i.e. *.md), or traverse all sub-directories for certain files (i.e. **/*.md). [more inside]
[Screencast] Mountable Engines
Mountable Engines are a great way to extract code into its own namespace and allow the code to be reused in other applications. Other popular gems that are mountable engines are Devise and Doorkeeper. https://www.driftingruby.com/episodes/rails-engines
User Confirmation using Devise
Do you want to send the confirmation email to users ?? See how to build rails application for this feature here: http://mayurkumar.info/blog/user-confirmation-using-devise/
Active Admin 1.0
ActiveAdmin 1.0 was released with Rails 5.1 support for RailsConf http://www.varyonic.com/2017/04/active-admin-1-0/
How to download PDF's with the new Chromium Plugin API and Capybara
I’ve covered the setup for capybara chrome driver - https://dennistusk.com/posts/how-to-download-pdfs-with-the-new-chromium-api/
Using ruby and git to share project code with temporary team member
Did you know we can share our project by simply serving our .git folder? It is just 4 commands in total. - Read Full Article
Using Vue.js for Nested Forms in Rails
You can pretty easily use Vue.js to build out dynamic nested forms in Rails. This two-part screencast, we explore how you can use Vue.js to easily handle creating new records, editing existing ones, and also deleting entries. [more inside]
Amazon S3 storage support for KMS
I’ve recently added Amazon S3 storage support for KMS - https://github.com/webgradus/kms#amazon-s3-for-assets-storage [more inside]
How Rubycoders uses Stripe webhooks
Dynamic management of Stripe Events https://rubycoders.io/articles/how-rubycoders-uses-stripe-webhooks
Perfection is useless
One of the most important things we teach the junior programmers who join the Semaphore team is the mindset of shipping in small iterations. This is a simple concept, however there’s an inevitable misunderstanding that stems from the subjective ideas of “small”. Thus, in practice we need to teach by example what we really mean by small. Read the full article.
Thredded v0.12.0
Thredded, the best Rails forum engine, has just released v0.12.0. The highlight of this release is the quote reply feature. See the release notes at https://github.com/thredded/thredded/releases
Improving Capistrano Deployment Performance
Slow deploys? That can be fixed. Start by measuring (but it’s probably your assets). Here are some tips for speeding things up.
Crystal from a Rubyist’s Perspective
Daniel P. Clark shows the kind of practice he would recommend for learning any language, like Crystal, that is young and still not fully mature. Article here.
Ruby on Rails: The Bad and Good Parts
Ruby on Rails: The Bad and Good Parts is mostly a continuation of my previous article Feeling Alone in the Ruby Community and Replacing Rails with Roda, where I attempt to better explain my motivations on dropping Rails from our application’s stack.
Kickstarter for Rails Composer
I’ve launched a Kickstarter campaign to update Rails Composer for Rails 5.1 with options for JavaScript frameworks and more. If you contribute, there are great rewards such as the Capstone Rails Tutorials and subscriptions to Chris Oliver’s GoRails screencasts and Michael Hartl’s Learn Enough Society. Contribute here.
Crafting Better Code Reviews
We’ve heard that having our own code reviewed by our peers and reviewing the code of our colleagues are both Very Good Things™, that we should all be doing. But when was the last time we evaluated how we conduct them? This article (and its associated website) dives into the theory behind code reviews, and analyzes how effective our industry’s code review methodologies actually are when put into practice.
Ruby Debugging and Debugging Ruby
Finding and fixing bugs is at the heart of what we do as programmers, and yet we don’t really talk about it much. Here are some of my favorite resources that cover not only the hows but also the whys of debugging in Ruby. [more inside]
The Lesser-known Features in Rails 5.1
Last week, during RailsConf 2017, Rails 5.1 shipped. If you followed the announcements, you’ve seen the big features. But the reason I love Rails isn’t the headline features. It’s those quality-of-life changes that make me happier when I’m writing Rails apps. And Rails 5.1 is full of them.
Functional Object Composition and MVC
A partially theoretical post which explores gluing together OOP encapsulation and functional programming. [more inside]
[Screencast] Testing and documenting our API
Creating tests and docs for our Rails API with rspec_api_documentation, and controlling our JSON with active_model_serializers. [more inside]
tty-tree initial release!
tty-tree helps you print directory/structured data in tree like formats. Enjoy!
Announcing the RubyLetter Podcast
The RubyLetter podcast is a short weekly podcast dedicated to giving you the tools and news you need to stay in-the-know about what’s happening in Rubyland. We’ll talk about Ruby news and events, and highlight tutorials and resources that we found useful. http://www.rubyletter.com/blog/2017/04/28/podcast-announcement.html
Feeling alone in the Ruby community and replacing Rails with Roda
Here I write about why and how I replaced Rails with Roda in a 5 years old big application and my frustrations with the way the Ruby community uses to think about development of libraries.