@ioquatix That goes against one of the conventions I like about Ruby, which is to use full variable names instead of single letters. I don't understand how is that the default in Rubocop.

@postmodern @judofyr @ioquatix If an inner block returns a string or an explicit response, it's considered that block handled the request, and the execution halts, so the parent block doesn't continue executing after the child.

@judofyr @postmodern @ioquatix I second that. Roda (and Cuba) don't separate routing from request handling, meaning you can start handling the request while you're routing it.

See the Sinatra vs Roda comparison: roda.jeremyevans.net/compare_t

Streaming HTTP requests and responses with Ruby: codeotaku.com/journal/2019-01/

Any feedback or questions would be most welcome!

@timriley First time I'm hearing about erbse. I always thought that github.com/jeremyevans/erubi is now the de-facto implementation, considering that it has Tilt support and it's now the default in Rails.

Out this week, part 2 of my series on rom-rb, in which we learn about CHANGESETS, and the importance of such an abstraction for separating the persistence and domain layers.

rubytapas.com/2018/12/11/writi

#ruby

@ioquatix Thank you. The article is great! 👏. It's nice that you linked to impressive graphs, and that you emphasized that you'll reap benefits without changing the code.

I noticed a typo in the title "Parallism", and in "(excepting parallism)", I'm guessing it should be "parallelism".

@timriley So the issue is that open street maps API requires an HTTP client that supports HTTP/2?

Niggle, maybe just me 

@toby @skryking There is a great free RubyTapas which explains the difference in precedence between and/or and &&/||, and shows examples where and/or can be useful. rubytapas.com/2013/08/15/episo

@tom_dalling Depends on which kind of objects 😀

I once worked on a script that iterates over SQL records like a graph and attempts to fill in some missing information.

In attempts to speed it up, I noticed that instead of Sequel::Model objects I can instantiate POROs. I was using dataset-level UPDATEs for perf, so I didn't need model methods, only data.

That change alone brought a 3x speedup! And that's for Sequel, imagine what would be the gain if those were ActiveRecord::Base objects 😉

I'm happy to say TruffleRuby 1.0.0 RC 6 is now out. You'll probably have to update master in your ruby version installer of choice.

We fixed quite a few bug and filled in some performance gaps. A lot of this was based on user bug reports. If you're interested, please give it a whirl and report any issues you encounter.

Full changelog: github.com/oracle/truffleruby/

@erlingur DAS has really levelled up my testing workflow. I remember being blown away how Gary runs tests from inside Vim like that, so I eventually created the vim-test plugin to generalize this (github.com/janko-m/vim-test).

I also like how fluent everything is, and how honestly he talks about what he feels about the code he's presenting. Brilliant stuff!

Hello everyone! 👋 I'm a Ruby developer for 7 years now. The first few years I worked on Rails apps, but then I switched to other Ruby web frameworks and haven't looked back (Roda is my favourite).

I'm the author of Shrine, a gem for handling file attachments. shrinerb.com

As part of it, I also developed Ruby implementations for resumable uploads, which can greatly improve UX for end users that are uploading large files. github.com/janko-m/tus-ruby-se

Ruby.social

A Mastodon instance for Rubyists & friends