T.I.L.
Kernel#tap is a method that yields self to the block and returns self. It is useful for debugging or for chaining methods together.
(1..10)
  .tap {|x| puts "original: #{x}" }
  .to_a
  .tap {|x| puts "array:    #{x}" }
  .select {|x| x.even? }
  .tap {|x| puts "evens:    #{x}" }
  .map {|x| x*x }
  .tap {|x| puts "squares:  #{x}" }

  # Output:
  # original: 1..10
  # array:    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  # evens:    [2, 4, 6, 8, 10]
  # squares:  [4, 16, 36, 64, 100]
  # => [4, 16, 36, 64, 100]
Fix failure due to architecture arm64:
bundle config build.gem_name "--with-cflags=-Wno-error=incompatible-function-pointer-types"
bundle install