---
title: "An experimental wrapper around Ruby's TracePoint"
publication: "Ruby Weekly"
issue: 436
published_at: "2019-02-07"
canonical_url: "https://rubyweekly.com/issues/436"
---

This week's Ruby news, issue 436       

#436 — February 7, 2019 

[Read on the Web](https://rubyweekly.com/issues/436)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/clq8tddrrc9syrexsj5c.jpg)](https://solnic.codes/2019/01/31/introducing-dry-schema/)  

[Introducing `dry-schema`: A Data Coercion and Validation Library](https://solnic.codes/2019/01/31/introducing-dry-schema/) — A new library from Dry.rb focused on data validation. It was built to improve some of the issues in dry-validation. 

Piotr Solnica   

[A _Complete_ Program](http://richardmavis.info/a-complete-program) — An interesting exploration of a thought where, in this case, “complete” means “done enough for me to feel good about abandoning” it. In other words, how do you feel good about stopping work on a program? 

Richard Mavis   [![\](https://copm.s3.amazonaws.com/ec11eaa5.png)](https://circleci.com/blog/how-to-make-an-easy-and-valuable-open-source-contribution-with-circleci-orbs/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=feb19&utm_content=ruby-weekly) 

[Make a Valuable Open Source Contribution with CircleCI Orbs](https://circleci.com/blog/how-to-make-an-easy-and-valuable-open-source-contribution-with-circleci-orbs/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=feb19&utm_content=ruby-weekly) — CircleCI Orbs (packages of configuration) are a growing trend in open source. In this post, learn how to write your own orbs that thousands of developers can plug into their CI workflows. 

CircleCI sponsor   

[TraceSpy: An Experimental Wrapper Around TracePoint](https://github.com/baweaver/trace_spy) — Very much an experiment/work in progress, but this is an interesting attempt at exposing a more fluent API around [TracePoint](https://ruby-doc.org/core-2.0.0/TracePoint.html), a Ruby 2.0 feature for tracing code execution. 

Brandon Weaver   

[Better Support for C Extensions in TruffleRuby](https://aardvark179.github.io/blog/capi.html/) — [TruffleRuby](https://github.com/oracle/truffleruby) is a promising, alternative GraalVM-based Ruby implementation being worked on at Oracle, and it has recently made some key steps in supporting C extensions. 

Duncan MacGregor   

[strftimer: A Ruby `strftime` Format Generator](http://strftimer.com/) — Give it a date and time format written long-hand and it’ll give you the `Time#strftime` format to use. [For a Good Strftime](https://foragoodstrftime.com/) and [Rails DateTime Formats](https://railsdatetimeformats.com/) should also be useful in this area. 

Edward Forshaw  

💻 Jobs  

[Ruby on Rails Developer at X-Team (Remote)](https://x-team.com/remote-ruby-on-rails-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=ruby) — Join the most energizing community for developers. Work from anywhere with the world's leading brands. 

X-Team   

[Ruby Backend Developer (f/m/d), Berlin, Germany](https://jobs.heyjobs.co/de/jobs/b8c035f6-0c68-4169-a64c-5517e843bf6c?utm_source=rubyweekly) — Role with impact. Great team spirit. Benefits & relocation. Building the world's leading talent acquisition platform. Interested? Check out Glassdoor & kununu. 

HeyJobs   

[Try Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-rubyweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77582) — Vettery specializes in developer roles and is completely free for job seekers. 

Vettery  

📘 Articles & Tutorials  

[Unraveling Classes, Instances and Metaclasses in Ruby](https://blog.appsignal.com/2019/02/05/ruby-magic-classes-instances-and-metaclasses.html) — Sorting out how classes, instances, and metaclasses fit into how Ruby looks up a method. 

Jeff Kreeftmeijer   

▶[Taming Monoliths Without Microservices](https://www.youtube.com/watch?v=-ovkkvvTiRM) — A talk from RubyConf Australia which is taking place.. right now! 

Kelly Sutton   

▶[The Case Of The Missing Method: A Ruby Mystery Story](https://www.youtube.com/watch?v=aRkHqYDi_wQ) — An exploration of Ruby objects behind the scenes wrapped in a story of intrigue, also from RubyConf Australia. 

Nadia Odunayo   

[How to Protect Individual Resources with Passwords](https://www.gregnavis.com/articles/how-to-protect-individual-resources-with-passwords.html) — Rails comes with all the tools you need to protect individual resources (in this case, uploaded files) with a password. 

Greg Navis   

[A Rubyist Takes a Stroll in Elixir-Land...with Surprising Results](https://blog.honeybadger.io/elixir-module-names/?utm_source=rubyweekly&utm_medium=email&utm_campaign=ruby) — Get outside your comfort zone and join us as we compare and contrast resolving modules in Elixir vs Ruby. Let’s get weird. 

Honeybadger sponsor   

[Dream Code First](https://www.rubypigeon.com/posts/dream-code-first/) — The Ruby community embraces TDD for the most part, but there are still arguments to the contrary. Here’s how to make the case against those arguments. 

Tom Dalling   

▶[An Interview with TruffleRuby's Chris Seaton](https://remoteruby.transistor.fm/26) — A 30-min chat with the leader of the TruffleRuby project, a high-perf alternative Ruby implementation being built at Oracle. A good way to dig into what it’s really all about. 

Remote Ruby Podcast   

▶[What the RegEx?](https://www.driftingruby.com/episodes/what-the-regex) — A brief eight minute look at regular expressions. Ideal for beginners. 

Drifting Ruby beginner   

[How I Switched From Ruby to Python](https://blog.sqreen.io/from-ruby-to-python/) — We’re not recommending this course of action since, well, we don’t have a Python newsletter yet, but.. I won’t let that get in the way of a good story. 

Benoit Larroque   

▶[Ruby is the Best JavaScript](https://www.youtube.com/watch?v=datDkio1AXM) — A _“display of complete moral depravity”_ to make valid Ruby code that looks just like JavaScript(!) This is one you just watch for fun. 

Kevin Kuchta   

[Avoiding Junk-Drawer Classes in Ruby](https://blog.honeybadger.io/avoiding-junk-drawer-classes/) — The best example of a “junk drawer” class is the User class in many Rails apps. Tons of methods and attributes for different contexts. Don’t do it. 

Starr Horne   

[6 Postgres Tips for Rails Developers from the Show Floor at RailsConf](https://www.citusdata.com/blog/2017/04/28/postgres-tips-for-rails/?utm_source=Ruby_Weekly&utm_medium=email&utm_campaign=sponsor_blog) 

Citus Data sponsor   

[Does Rails Handle a Large Number of Nested Routes Better Than Sinatra?](http://nts.strzibny.name/rails-handles-large-number-of-nested-routes-better-than-sinatra/) 

Josef Strzibny  

🔧 Code & Tools  

[RubyMine 2019.1 EAP Updated](https://blog.jetbrains.com/ruby/2019/02/rubymine-2019-1-call-hierarchy-truffle-ruby/) — JetBrains’ popular (commercial) Ruby IDE adds support for TruffleRuby and can now show you a call hierarchy of methods. 

Artem Sarkisov   

[Spree 3.7 Released: The Rails-Based Ecommerce System](https://spreecommerce.org/exciting-new-features-in-spree-3-7-0-release/) — 3.7 is the last 3.x release before 4.0 but includes an all new REST API based on JSON API and using Netflix’s [fast_jsonapi](https://github.com/Netflix/fast_jsonapi) serializer. 

Spree Commerce   

[Heaven's Door: A Capybara Test Scenario Recorder for Rails](https://github.com/amatsuda/heavens_door) — A Rails engine that records browser operations and turns that into a Capybara test scenario. 

Akira Matsuda   

[prettier-ruby: A 'Prettier' Plugin for Ruby Code](https://github.com/kddeisz/prettier-ruby) — [Prettier](https://prettier.io/) is a popular code formatter usually associated with JavaScript and CSS. 

Kevin Deisz   

[Blazer: A Ruby-Powered Business Intelligence Tool](https://github.com/ankane/blazer) — A system for putting together charts and dashboards based on business data. Supports a wide variety of data sources. Version 2 came out a few weeks ago. 

Andrew Kane   

[activerecord-import: Bulk Data Insertion with ActiveRecord](https://github.com/zdennis/activerecord-import) — It just reached version 1.0. Does some clever things like generate the minimal amount of SQL inserts by analyzing associations. 

Zach Dennis         

Curated by [Cooperpress](https://cooperpress.com/) 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
