www.rubytapas.com Open in urlscan Pro
2606:4700:7::a29f:8936  Public Scan

Submitted URL: http://www.rubytapas.com/
Effective URL: https://www.rubytapas.com/
Submission: On December 13 via api from US — Scanned from DE

Form analysis 2 forms found in the DOM

GET https://www.rubytapas.com/

<form role="search" method="get" id="searchform" class="searchform" action="https://www.rubytapas.com/">
  <div>
    <label class="screen-reader-text" for="s">Search for:</label>
    <input type="text" value="" name="s" data-swplive="true" data-swpengine="default" data-swpconfig="default" id="s" placeholder="Search here..." autocomplete="off" aria-owns="searchwp_live_search_results_657a10206ce6e" aria-autocomplete="both"
      aria-label="When autocomplete results are available use up and down arrows to review and enter to go to the desired page. Touch device users, explore by touch or with swipe gestures.">
    <button type="submit" id="searchsubmit">
      <i class="fa fa-search"></i> <span>Search</span>
    </button>
  </div>
</form>

GET https://www.rubytapas.com

<form action="https://www.rubytapas.com" method="get"><label class="screen-reader-text" for="cat">Categories</label><select name="cat" id="cat" class="postform">
    <option value="-1">Select Category</option>
    <option class="level-0" value="115">Announcements</option>
    <option class="level-0" value="25">APIs and Libraries</option>
    <option class="level-0" value="36">Applications</option>
    <option class="level-0" value="12854">Behind the Scenes</option>
    <option class="level-0" value="6413">BRUNCH</option>
    <option class="level-0" value="13583">Career</option>
    <option class="level-0" value="134">Community</option>
    <option class="level-0" value="23">Design</option>
    <option class="level-0" value="109">Episodes</option>
    <option class="level-1" value="12">&nbsp;&nbsp;&nbsp;Premium Episodes</option>
    <option class="level-1" value="110">&nbsp;&nbsp;&nbsp;Season 1</option>
    <option class="level-2" value="7">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S1 Premium</option>
    <option class="level-1" value="111">&nbsp;&nbsp;&nbsp;Season 2</option>
    <option class="level-2" value="8">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S2 Premium</option>
    <option class="level-1" value="112">&nbsp;&nbsp;&nbsp;Season 3</option>
    <option class="level-2" value="9">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S3 Premium</option>
    <option class="level-1" value="113">&nbsp;&nbsp;&nbsp;Season 4</option>
    <option class="level-2" value="10">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S4 Premium</option>
    <option class="level-1" value="114">&nbsp;&nbsp;&nbsp;Season 5</option>
    <option class="level-2" value="11">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S5 Premium</option>
    <option class="level-1" value="6513">&nbsp;&nbsp;&nbsp;Season 6</option>
    <option class="level-2" value="5965">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S6 Premium</option>
    <option class="level-1" value="11764">&nbsp;&nbsp;&nbsp;Season 7</option>
    <option class="level-2" value="11765">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S7 Premium</option>
    <option class="level-1" value="12758">&nbsp;&nbsp;&nbsp;Season 8</option>
    <option class="level-2" value="12760">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S8 Premium</option>
    <option class="level-1" value="13647">&nbsp;&nbsp;&nbsp;Season 9</option>
    <option class="level-2" value="13648">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S9 Premium</option>
    <option class="level-0" value="3">Freebies</option>
    <option class="level-0" value="73">Guest Episodes</option>
    <option class="level-0" value="6116">Kitchen Tour</option>
    <option class="level-0" value="22">Language</option>
    <option class="level-0" value="163">News</option>
    <option class="level-0" value="12426">Practices</option>
    <option class="level-0" value="175">Sideboard</option>
    <option class="level-0" value="27">Style</option>
    <option class="level-0" value="24">Testing</option>
    <option class="level-0" value="32">Tools</option>
    <option class="level-0" value="1">Uncategorized</option>
  </select>
</form>

Text Content

This website uses cookies to ensure you get the best experience on our website.
Learn more
Got it!
RubyTapas is moving to Graceful.Dev. All the new stuff is there!
 * Home
 * About
   * News
 * Subscribe
   * Personal Subscriptions
   * Team Pricing
 * Episodes
   * All Episodes
   * Freebies
   * Guest Episodes
   * Categories
     * APIs and Libraries
     * Applications
     * Design
     * Language
     * Patterns and Anti-Patterns
     * Style
     * Testing
     * Tools
   * Surprise me!
   * Video Downloads
 * Courses
   * Tasting Menus
   * Feasts
 * Help
   * FAQ
   * Contact
   * Nominate a Guest Chef
   * Privacy
 * Log in

 * Twitter
 * Facebook

Search for: Search


CATEGORIES

Categories Select Category Announcements APIs and Libraries Applications Behind
the Scenes BRUNCH Career Community Design Episodes    Premium Episodes    Season
1       S1 Premium    Season 2       S2 Premium    Season 3       S3 Premium
   Season 4       S4 Premium    Season 5       S5 Premium    Season 6       S6
Premium    Season 7       S7 Premium    Season 8       S8 Premium    Season 9
      S9 Premium Freebies Guest Episodes Kitchen Tour Language News Practices
Sideboard Style Testing Tools Uncategorized


TAGS

activerecord asynchrony code smells command line concurrency containers corelib
data database debugging devcontainers domain modeling Enumerable & Enumerator
failure handling files guest idioms Input - Output iteration linux literals
logging metaprogramming oop patterns practices processes (execution) rails
refactoring regex rspec RubyGems stdlib strings syntax systems tdd test doubles
testing text threads tools unix value objects variables

December 2023 M T W T F S S  123 45678910 11121314151617 18192021222324
25262728293031

« Sep    


ARCHIVES

Archives Select Month September 2021 August 2021 July 2021 June 2021 May 2021
April 2021 March 2021 February 2021 January 2021 December 2020 November 2020
October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020
March 2020 February 2020 January 2020 December 2019 November 2019 October 2019
September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019
February 2019 January 2019 December 2018 November 2018 October 2018 September
2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February
2018 January 2018 December 2017 November 2017 October 2017 September 2017 August
2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January
2017 December 2016 November 2016 October 2016 September 2016 August 2016 July
2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016
December 2015 November 2015 October 2015 September 2015 August 2015 July 2015
June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December
2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014
May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November
2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April
2013 March 2013 February 2013 January 2013 December 2012 November 2012 October
2012 September 2012


META

 * Log in
 * Entries feed
 * Comments feed
 * WordPress.org


Categories
 * All
 * Language
 * Design
 * Style
 * APIs and Libraries
 * Testing
 * Freebies

EPISODE #683
TAP

August 22, 2021
EPISODE #682
682 IS IT DEFINED?

August 11, 2021
EPISODE #681
SETTER RETURN

August 2, 2021
EPISODE #680
HASH SPLAT MERGE

July 24, 2021
EPISODE #679
GIT HOOKS FOR EVIL AND GOOD

July 11, 2021
Let's Eat
 * Twitter
 * Facebook

Recent Episodes

RubyTapas

Short Screencasts of Gourmet Ruby, by Avdi Grimm

 * Home
 * About
   * News
 * Subscribe
   * Personal Subscriptions
   * Team Pricing
 * Episodes
   * All Episodes
   * Freebies
   * Guest Episodes
   * Categories
     * APIs and Libraries
     * Applications
     * Design
     * Language
     * Patterns and Anti-Patterns
     * Style
     * Testing
     * Tools
   * Surprise me!
   * Video Downloads
 * Courses
   * Tasting Menus
   * Feasts
 * Help
   * FAQ
   * Contact
   * Nominate a Guest Chef
   * Privacy
 * Log in


RUBYTAPAS IS GETTING GRACEFUL

Avdi Grimm September 17, 2021

We've had dinner, now it's time for the dancing!

Read More

EPISODE #683
TAP

Avdi Grimm August 22, 2021

Let's talk about Ruby's `.tap` method. How does it differ from related
combinators? When should we use it? And... why is it called "tap", anyway?

Read More

EPISODE #682
682 IS IT DEFINED?

Avdi Grimm August 11, 2021

Constants, globals, locals, instance variables, methods... Ruby has a lot of
namespaces. Let's learn about a Ruby power tool for reflecting on these names no
matter what space they come …

Read More

EPISODE #681
SETTER RETURN

Avdi Grimm August 2, 2021

A surprising Rubocop warning inspired this video about an obscure bit of Ruby
semantics. Find out why you never need to worry about return values in Ruby
setter methods!

Read More

EPISODE #680
HASH SPLAT MERGE

Avdi Grimm July 24, 2021

In today's video, learn a concise and expressive syntax for merging several Ruby
hashes into one!

Read More

EPISODE #679
GIT HOOKS FOR EVIL AND GOOD

Avdi Grimm July 11, 2021

Between your beautiful code change and immortality stands a gatekeeper: git
commit hooks. These hooks can be helpful... or annoying. Join Jessica Kerr to
learn how to make the former, …

Read More

EPISODE #678
MODULE PREPEND

Avdi Grimm June 28, 2021

Sometimes you need to attach new functionality, such as logging, to other
people's code. Learn to leverage Ruby's ancestor chain for (relatively) clean
patching, using prepended modules!

Read More

EPISODE #677
DIRENV AND DOTENV

Avdi Grimm June 21, 2021

direnv and dotenv: both utilities for managing 12-Factor-style environment-based
configuration. Where do they overlap, how do they differ, and, most importantly:
how can they complement each other? Find out!

Read More

EPISODE #676
DISTRIBUTED TRACING WITH HONEYCOMB

Jessica Kerr June 14, 2021

Service-oriented architecture may enable separate teams to work fast
independently, but they also push problems into the interstices between systems.
Distributed bugs need distributed tracing - learn how, with Jessica …

Read More

1 2 3 … 85 →
Categories
 * All
 * Language
 * Design
 * Style
 * APIs and Libraries
 * Testing
 * Freebies

EPISODE #683
TAP

August 22, 2021
EPISODE #682
682 IS IT DEFINED?

August 11, 2021
EPISODE #681
SETTER RETURN

August 2, 2021
EPISODE #680
HASH SPLAT MERGE

July 24, 2021
EPISODE #679
GIT HOOKS FOR EVIL AND GOOD

July 11, 2021
 * Home
 * About
 * Subscribe
 * Episodes
 * Courses
 * Help
 * Log in

© 2021 ShipRise LLC