<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://rubyonrails.tv/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/paths</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/ruby</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/rails</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/community</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/events</loc>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/setup</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/paths/ruby-foundations</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/paths/rails-basics</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/paths/hotwire-track</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/paths/rails-8</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/rails-8-intro</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/-cEn_83zRFw/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Rails 8: No PaaS Required</video:title>
      <video:description>DHH&apos;s Rails World 2024 keynote on Rails 8 — Kamal 2, Solid trifecta, and running Rails without a PaaS.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=-cEn_83zRFw</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/-cEn_83zRFw</video:player_loc>
      <video:duration>2892</video:duration>
      <video:publication_date>2024-10-01</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=-cEn_83zRFw">David Heinemeier Hansson</video:uploader>
      <video:tag>Rails 8</video:tag>
      <video:tag>Deployment</video:tag>
      <video:tag>Kamal</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/hotwire-tour</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/SWEts0rlezA/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Hotwire: HTML Over The Wire</video:title>
      <video:description>A tour of Hotwire — how Turbo Drive, Frames, Streams, and Stimulus make Rails apps feel instant.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=SWEts0rlezA</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/SWEts0rlezA</video:player_loc>
      <video:duration>1920</video:duration>
      <video:publication_date>2023-09-12</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=SWEts0rlezA">Rails Team</video:uploader>
      <video:tag>Hotwire</video:tag>
      <video:tag>Turbo</video:tag>
      <video:tag>Stimulus</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/rails-world-2024</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/iqXjGiQ_D-A/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Rails World 2024 Opening Keynote</video:title>
      <video:description>Where Rails is heading — the one-person framework, Solid gems, and beyond.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=iqXjGiQ_D-A</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/iqXjGiQ_D-A</video:player_loc>
      <video:duration>3300</video:duration>
      <video:publication_date>2024-09-27</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=iqXjGiQ_D-A">DHH</video:uploader>
      <video:tag>Community</video:tag>
      <video:tag>Rails 8</video:tag>
      <video:tag>Vision</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/activerecord-basics</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/EU98yHB-_7A/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Active Record Basics</video:title>
      <video:description>Models, migrations, associations, and queries — the core of Rails&apos; ORM explained clearly.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=EU98yHB-_7A</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/EU98yHB-_7A</video:player_loc>
      <video:duration>1104</video:duration>
      <video:publication_date>2023-04-11</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=EU98yHB-_7A">Chris Oliver</video:uploader>
      <video:tag>Active Record</video:tag>
      <video:tag>Database</video:tag>
      <video:tag>ORM</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/turbo-frames-streams</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/3vTd0OiiBs4/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Turbo Frames and Turbo Streams</video:title>
      <video:description>Build a live, SPA-like experience with zero custom JavaScript using Turbo.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=3vTd0OiiBs4</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/3vTd0OiiBs4</video:player_loc>
      <video:duration>1330</video:duration>
      <video:publication_date>2022-11-02</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=3vTd0OiiBs4">Chris Oliver</video:uploader>
      <video:tag>Hotwire</video:tag>
      <video:tag>Turbo</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/stimulus-intro</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/l6SwXe2p4Bg/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Getting Started with Stimulus</video:title>
      <video:description>Sprinkle behavior on HTML with the tiny, humble JavaScript framework built for Rails.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=l6SwXe2p4Bg</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/l6SwXe2p4Bg</video:player_loc>
      <video:duration>878</video:duration>
      <video:publication_date>2022-06-15</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=l6SwXe2p4Bg">Chris Oliver</video:uploader>
      <video:tag>Stimulus</video:tag>
      <video:tag>JavaScript</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/ruby-in-100</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/UYm0kfnRTBU/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Ruby in 100 Seconds</video:title>
      <video:description>A whirlwind tour of what makes Ruby special — blocks, symbols, and the joy of syntax.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=UYm0kfnRTBU</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/UYm0kfnRTBU</video:player_loc>
      <video:duration>154</video:duration>
      <video:publication_date>2022-01-20</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=UYm0kfnRTBU">Fireship</video:uploader>
      <video:tag>Ruby</video:tag>
      <video:tag>Overview</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/ruby-crash-course</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/t_ispmWmdjY/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Ruby Programming Language — Full Course</video:title>
      <video:description>From variables to classes to blocks — a hands-on tour of Ruby fundamentals you can follow at your own pace.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=t_ispmWmdjY</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/t_ispmWmdjY</video:player_loc>
      <video:duration>12292</video:duration>
      <video:publication_date>2021-08-30</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=t_ispmWmdjY">freeCodeCamp</video:uploader>
      <video:tag>Ruby</video:tag>
      <video:tag>Fundamentals</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/learn-rails-quickstart</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/fmyvWz5TUWg/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Learn Ruby on Rails — Quickstart</video:title>
      <video:description>Install Ruby, install Rails, and spin up your first app — the friendliest on-ramp anywhere.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=fmyvWz5TUWg</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/fmyvWz5TUWg</video:player_loc>
      <video:duration>725</video:duration>
      <video:publication_date>2020-05-01</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=fmyvWz5TUWg">Daniel Kehoe</video:uploader>
      <video:tag>Rails</video:tag>
      <video:tag>Setup</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/pragmatic-rails-intro</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/b6Cyk9Bx3ZM/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Rails with Pragmatic Studio — First Steps</video:title>
      <video:description>A taste of the Pragmatic Studio Rails course — build a small app the right way, step by step.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=b6Cyk9Bx3ZM</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/b6Cyk9Bx3ZM</video:player_loc>
      <video:duration>1604</video:duration>
      <video:publication_date>2023-02-14</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=b6Cyk9Bx3ZM">Mike &amp; Nicole Clark</video:uploader>
      <video:tag>Rails</video:tag>
      <video:tag>MVC</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/solid-queue</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/wgeaTS2S6Uw/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Introducing Solid Queue</video:title>
      <video:description>A Postgres/MySQL-backed queue that replaces Redis for background work in Rails 8.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=wgeaTS2S6Uw</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/wgeaTS2S6Uw</video:player_loc>
      <video:duration>1690</video:duration>
      <video:publication_date>2024-04-18</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=wgeaTS2S6Uw">Rosa Gutiérrez</video:uploader>
      <video:tag>Background Jobs</video:tag>
      <video:tag>Rails 8</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/rails-world-2024-day2</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/AvXa-O25LmQ/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Rails World 2024 — Day 2 Highlights</video:title>
      <video:description>Highlights from Day 2 of Rails World — Solid Cable, Kamal 2, and the future of the framework.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=AvXa-O25LmQ</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/AvXa-O25LmQ</video:player_loc>
      <video:duration>2538</video:duration>
      <video:publication_date>2024-09-28</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=AvXa-O25LmQ">Rails Team</video:uploader>
      <video:tag>Rails World</video:tag>
      <video:tag>Community</video:tag>
      <video:tag>Rails 8</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/kamal-2-deep-dive</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/F1piN5x_bpc/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Kamal 2: Deploying Rails Without a PaaS</video:title>
      <video:description>A hands-on tour of Kamal 2 — zero-downtime deploys, proxy config, and multi-server setups.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=F1piN5x_bpc</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/F1piN5x_bpc</video:player_loc>
      <video:duration>2182</video:duration>
      <video:publication_date>2024-10-15</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=F1piN5x_bpc">Donal McBreen</video:uploader>
      <video:tag>Kamal</video:tag>
      <video:tag>Deployment</video:tag>
      <video:tag>DevOps</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/solid-cable</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/kTM3xRxpQzE/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Solid Cable: Real-time Without Redis</video:title>
      <video:description>How the new Postgres-backed Action Cable adapter replaces Redis for real-time features.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=kTM3xRxpQzE</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/kTM3xRxpQzE</video:player_loc>
      <video:duration>1480</video:duration>
      <video:publication_date>2024-06-12</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=kTM3xRxpQzE">Jean Boussier</video:uploader>
      <video:tag>Action Cable</video:tag>
      <video:tag>Rails 8</video:tag>
      <video:tag>Real-time</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/solid-cache</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/wSTxk8P8Kdw/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Introducing Solid Cache</video:title>
      <video:description>A durable, database-backed cache that scales cheaply — the third Solid gem in Rails 8.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=wSTxk8P8Kdw</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/wSTxk8P8Kdw</video:player_loc>
      <video:duration>1615</video:duration>
      <video:publication_date>2024-05-20</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=wSTxk8P8Kdw">Donal McBreen</video:uploader>
      <video:tag>Caching</video:tag>
      <video:tag>Rails 8</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/hotwire-native</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/5MjOgahv_lQ/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Hotwire Native: Ship Mobile Apps From Rails</video:title>
      <video:description>How Hotwire Native turns your Rails app into a real iOS and Android app with shared HTML.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=5MjOgahv_lQ</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/5MjOgahv_lQ</video:player_loc>
      <video:duration>1874</video:duration>
      <video:publication_date>2024-07-08</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=5MjOgahv_lQ">Joe Masilotti</video:uploader>
      <video:tag>Hotwire Native</video:tag>
      <video:tag>Mobile</video:tag>
      <video:tag>iOS</video:tag>
      <video:tag>Android</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/turbo-8-morphing</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/3ijvZfNCNc4/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Turbo 8 Morphing &amp; Page Refreshes</video:title>
      <video:description>Turbo 8&apos;s page refreshes and morphing make broadcast updates feel effortless.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=3ijvZfNCNc4</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/3ijvZfNCNc4</video:player_loc>
      <video:duration>1187</video:duration>
      <video:publication_date>2024-02-14</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=3ijvZfNCNc4">Chris Oliver</video:uploader>
      <video:tag>Hotwire</video:tag>
      <video:tag>Turbo</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/importmaps</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/3v-inKgIQqU/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Import Maps: JavaScript Without Bundling</video:title>
      <video:description>Skip Webpack and npm — how import maps ship modern JS with plain Rails.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=3v-inKgIQqU</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/3v-inKgIQqU</video:player_loc>
      <video:duration>992</video:duration>
      <video:publication_date>2023-01-18</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=3v-inKgIQqU">Chris Oliver</video:uploader>
      <video:tag>Import Maps</video:tag>
      <video:tag>JavaScript</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/propshaft</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/cOE7YsO-mDA/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Propshaft: The New Asset Pipeline</video:title>
      <video:description>Sprockets is out, Propshaft is in — a leaner, faster asset pipeline for modern Rails.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=cOE7YsO-mDA</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/cOE7YsO-mDA</video:player_loc>
      <video:duration>728</video:duration>
      <video:publication_date>2023-05-04</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=cOE7YsO-mDA">Chris Oliver</video:uploader>
      <video:tag>Assets</video:tag>
      <video:tag>Rails 8</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/authentication-generator</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/5oO7DsUcJhI/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Rails 8 Authentication Generator</video:title>
      <video:description>The new built-in auth generator — sessions, password reset, and account recovery.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=5oO7DsUcJhI</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/5oO7DsUcJhI</video:player_loc>
      <video:duration>1263</video:duration>
      <video:publication_date>2024-11-05</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=5oO7DsUcJhI">Chris Oliver</video:uploader>
      <video:tag>Authentication</video:tag>
      <video:tag>Rails 8</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/rspec-basics</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/6zPtWSnuiqY/hqdefault.jpg</video:thumbnail_loc>
      <video:title>RSpec for Rails: The Basics</video:title>
      <video:description>Set up RSpec, write your first specs, and learn describe/context/it — the Rails testing tour.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=6zPtWSnuiqY</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/6zPtWSnuiqY</video:player_loc>
      <video:duration>1455</video:duration>
      <video:publication_date>2023-08-22</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=6zPtWSnuiqY">Chris Oliver</video:uploader>
      <video:tag>Testing</video:tag>
      <video:tag>RSpec</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/system-tests</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/H-3xJLo7v-w/hqdefault.jpg</video:thumbnail_loc>
      <video:title>System Tests with Capybara</video:title>
      <video:description>End-to-end browser tests in Rails — click, type, and assert like a real user.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=H-3xJLo7v-w</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/H-3xJLo7v-w</video:player_loc>
      <video:duration>1124</video:duration>
      <video:publication_date>2023-09-15</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=H-3xJLo7v-w">Chris Oliver</video:uploader>
      <video:tag>Testing</video:tag>
      <video:tag>Capybara</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/active-job</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/1sZO_wS3DPk/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Active Job &amp; Background Work</video:title>
      <video:description>Queue emails, image processing, and API calls without blocking your requests.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=1sZO_wS3DPk</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/1sZO_wS3DPk</video:player_loc>
      <video:duration>1229</video:duration>
      <video:publication_date>2023-11-01</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=1sZO_wS3DPk">Chris Oliver</video:uploader>
      <video:tag>Active Job</video:tag>
      <video:tag>Background Jobs</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/action-mailer</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/GJm9CgRpjqM/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Sending Email with Action Mailer</video:title>
      <video:description>Set up SMTP, build mailer views, and ship transactional email straight from Rails.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=GJm9CgRpjqM</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/GJm9CgRpjqM</video:player_loc>
      <video:duration>912</video:duration>
      <video:publication_date>2023-06-06</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=GJm9CgRpjqM">Chris Oliver</video:uploader>
      <video:tag>Action Mailer</video:tag>
      <video:tag>Email</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/action-text</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/8XidsyfNqp8/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Rich Text Editing with Action Text</video:title>
      <video:description>Add a first-class WYSIWYG editor to any model with a single line of code.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=8XidsyfNqp8</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/8XidsyfNqp8</video:player_loc>
      <video:duration>1055</video:duration>
      <video:publication_date>2023-07-19</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=8XidsyfNqp8">Chris Oliver</video:uploader>
      <video:tag>Action Text</video:tag>
      <video:tag>Trix</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/action-storage</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/GaXBUOEsSl4/hqdefault.jpg</video:thumbnail_loc>
      <video:title>File Uploads with Active Storage</video:title>
      <video:description>Attach files to models, generate variants, and store them on S3, GCS, or disk.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=GaXBUOEsSl4</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/GaXBUOEsSl4</video:player_loc>
      <video:duration>1367</video:duration>
      <video:publication_date>2023-04-25</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=GaXBUOEsSl4">Chris Oliver</video:uploader>
      <video:tag>Active Storage</video:tag>
      <video:tag>Uploads</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/why-ruby</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/obUcZzwq3rQ/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Why Ruby is Still Worth Learning in 2025</video:title>
      <video:description>Tenderlove on what still makes Ruby special — expressiveness, joy, and a thriving core team.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=obUcZzwq3rQ</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/obUcZzwq3rQ</video:player_loc>
      <video:duration>588</video:duration>
      <video:publication_date>2025-01-10</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=obUcZzwq3rQ">Aaron Patterson</video:uploader>
      <video:tag>Ruby</video:tag>
      <video:tag>Community</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/blocks-procs-lambdas</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/VBC-G6hahWA/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Ruby Blocks, Procs &amp; Lambdas Explained</video:title>
      <video:description>The three flavors of Ruby closures, when to use each, and why blocks feel magical.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=VBC-G6hahWA</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/VBC-G6hahWA</video:player_loc>
      <video:duration>680</video:duration>
      <video:publication_date>2022-11-14</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=VBC-G6hahWA">Codecademy</video:uploader>
      <video:tag>Ruby</video:tag>
      <video:tag>Blocks</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/metaprogramming</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/iyC58wWQOgQ/hqdefault.jpg</video:thumbnail_loc>
      <video:title>A Gentle Intro to Ruby Metaprogramming</video:title>
      <video:description>Sandi Metz on define_method, method_missing, and using metaprogramming responsibly.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=iyC58wWQOgQ</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/iyC58wWQOgQ</video:player_loc>
      <video:duration>2062</video:duration>
      <video:publication_date>2022-05-18</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=iyC58wWQOgQ">Sandi Metz</video:uploader>
      <video:tag>Ruby</video:tag>
      <video:tag>Metaprogramming</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/stimulus-controllers</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/T3-zBcz3P1w/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Building Stimulus Controllers</video:title>
      <video:description>Targets, actions, values, and outlets — everything a modern Stimulus controller uses.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=T3-zBcz3P1w</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/T3-zBcz3P1w</video:player_loc>
      <video:duration>1195</video:duration>
      <video:publication_date>2023-03-08</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=T3-zBcz3P1w">Chris Oliver</video:uploader>
      <video:tag>Stimulus</video:tag>
      <video:tag>JavaScript</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/postgres-tips</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/cN6mQ_bYsGE/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Postgres Tips Every Rails Developer Should Know</video:title>
      <video:description>Indexes, EXPLAIN, jsonb, and gotchas — level up your database game.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=cN6mQ_bYsGE</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/cN6mQ_bYsGE</video:player_loc>
      <video:duration>1691</video:duration>
      <video:publication_date>2024-03-12</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=cN6mQ_bYsGE">Chris Oliver</video:uploader>
      <video:tag>Postgres</video:tag>
      <video:tag>Performance</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
  <url>
    <loc>https://rubyonrails.tv/videos/polymorphic-associations</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <video:video>
      <video:thumbnail_loc>https://i.ytimg.com/vi/V-vX2WjOnPU/hqdefault.jpg</video:thumbnail_loc>
      <video:title>Polymorphic Associations in Rails</video:title>
      <video:description>When to reach for polymorphic associations — and when to reach for something else.</video:description>
      <video:content_loc>https://www.youtube.com/watch?v=V-vX2WjOnPU</video:content_loc>
      <video:player_loc allow_embed="yes">https://www.youtube.com/embed/V-vX2WjOnPU</video:player_loc>
      <video:duration>964</video:duration>
      <video:publication_date>2023-10-20</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
      <video:requires_subscription>no</video:requires_subscription>
      <video:uploader info="https://www.youtube.com/watch?v=V-vX2WjOnPU">Chris Oliver</video:uploader>
      <video:tag>Active Record</video:tag>
      <video:tag>Associations</video:tag>
      <video:platform relationship="allow">web mobile tv</video:platform>
    </video:video>
  </url>
</urlset>