Continuing from the previous episode, we look at evolving the polling stimulus controller to handle pausing when the user navigates to a different tab, handle network errors, properly construct the URL and handle inserting new records differently. These small changes creates...
Continuing from the previous episode, we look at evolving the polling stimulus controller to handle pausing when the user navigates to a different tab, handle network errors, properly construct the URL and handle inserting new records differently. These small changes creates a much stronger polling mechanism.
► Full Episode - https://www.driftingruby.com/episodes/polling-for-new-records-advanced
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
Websockets are great, but they are not always the right approach. In this episode, we will look at implementing a long polling for new records. ► Full Episode - https://www.driftingruby.com/episodes/polling-for-new-records 00:00 - Introduction 02:25 - Setting up the...
Websockets are great, but they are not always the right approach. In this episode, we will look at implementing a long polling for new records.
► Full Episode - https://www.driftingruby.com/episodes/polling-for-new-records
00:00 - Introduction
02:25 - Setting up the application
05:41 - Implementing the polling
11:42 - Demo
11:59 - Final Thoughts
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
In this episode, we'll look at improving our UX by adding a custom Turbo Stream action to give some animation to deleted records. ► Full Episode - https://www.driftingruby.com/episodes/custom-turbo-stream-action-animation ► Visit the Merchandise Store -...
In this episode, we'll look at improving our UX by adding a custom Turbo Stream action to give some animation to deleted records.
► Full Episode - https://www.driftingruby.com/episodes/custom-turbo-stream-action-animation
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
In this episode, we look at setting up a global .gitignore file that would apply to all projects. ► Full Episode - https://www.driftingruby.com/episodes/gitignore-globally ► Visit the Merchandise Store - https://www.railsstore.com/ ► Ruby on Rails Templates -...
In this episode, we look at setting up a global .gitignore file that would apply to all projects.
► Full Episode - https://www.driftingruby.com/episodes/gitignore-globally
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
In this episode, we will have a look at a shell command that runs in a background job, but broadcast its output in real time to the browser. ► Full Episode - https://www.driftingruby.com/episodes/broadcasting-shell-output ► Visit the Merchandise Store -...
In this episode, we will have a look at a shell command that runs in a background job, but broadcast its output in real time to the browser.
► Full Episode - https://www.driftingruby.com/episodes/broadcasting-shell-output
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development #turbo
In this episode, we use a small AI model to check the tone of a message in real time on the client's browser. There's no need to send messages back to the server or to an API because it's all done on the client's browser with the Web GPU. It is small enough to work on mobile...
In this episode, we use a small AI model to check the tone of a message in real time on the client's browser. There's no need to send messages back to the server or to an API because it's all done on the client's browser with the Web GPU. It is small enough to work on mobile devices and desktop computers.
► Full Episode - https://www.driftingruby.com/episodes/tone-check
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
In this episode, we look at where we were years ago and the journey where we have landed today. Over the past 10 years, much has changed with our approach to client interactions and in the episode we explore my favorite and current approach. ► Full Episode -...
In this episode, we look at where we were years ago and the journey where we have landed today. Over the past 10 years, much has changed with our approach to client interactions and in the episode we explore my favorite and current approach.
► Full Episode - https://www.driftingruby.com/episodes/ten-years-of-frontend
00:00 - Introduction
02:47 - Base application
04:33 - Base app review
05:25 - Stimulus Hotkey
08:56 - Turbo Frame - Results List
10:56 - Stimulus - Filters
16:05 - Final Thoughts
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
Continuing from the previous episode, we look at adding the LLM insights functionality to examine the error logs. We start simple with the information captured in the error logs, but progress to provide code snippet context. ► Full Episode -...
Continuing from the previous episode, we look at adding the LLM insights functionality to examine the error logs. We start simple with the information captured in the error logs, but progress to provide code snippet context.
► Full Episode - https://www.driftingruby.com/episodes/ai-error-tracking-part-2
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com ►...
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
In this episode, we are setting up the error tracking within our Rails application so that in the next episode, we can plug in the AI analysis of the error to hopefully lead to faster identity of the problem and ranking of severity. ► Full Episode -...
In this episode, we are setting up the error tracking within our Rails application so that in the next episode, we can plug in the AI analysis of the error to hopefully lead to faster identity of the problem and ranking of severity.
► Full Episode - https://www.driftingruby.com/episodes/ai-error-tracking-part-1
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
In this episode, we will create a middleware that will capture the Rails logs and use an AI model to analyze the logs for any potential performance impact or issues. ► Full Episode - https://www.driftingruby.com/episodes/ai-powered-logs ► Visit the Merchandise Store -...
In this episode, we will create a middleware that will capture the Rails logs and use an AI model to analyze the logs for any potential performance impact or issues.
► Full Episode - https://www.driftingruby.com/episodes/ai-powered-logs
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
Easter Eggs are often ways that developers can have fun by hiding little gems in the code base or provide additional fun without affecting the function of the application. In this episode, we'll explore some of the little easter eggs in the Rails code base. ► Full Episode -...
Easter Eggs are often ways that developers can have fun by hiding little gems in the code base or provide additional fun without affecting the function of the application. In this episode, we'll explore some of the little easter eggs in the Rails code base.
► Full Episode - https://www.driftingruby.com/episodes/easter-eggs
00:00 - Introduction
00:18 - IRB
00:40 - Rails Code Base
02:49 - 42
03:10 - Final Thoughts
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
In this episode, we look at how we can modify our application from a performance aspect to increase our job security. We'll slow down our application to a still usable level, but then swoop in months later and become the hero. ► Full Episode -...
In this episode, we look at how we can modify our application from a performance aspect to increase our job security. We'll slow down our application to a still usable level, but then swoop in months later and become the hero.
► Full Episode - https://www.driftingruby.com/episodes/n-1-driven-development
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
In this episode, we look at creating a staging environment that will be provisioned and deployed through Kamal. A stating environment can be simple or a production like infrastructure that mimics the production environment. ► Full Episode -...
In this episode, we look at creating a staging environment that will be provisioned and deployed through Kamal. A stating environment can be simple or a production like infrastructure that mimics the production environment.
► Full Episode - https://www.driftingruby.com/episodes/kamal-staging
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
Learn how to order records by a column with a set of values. ► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like...
Learn how to order records by a column with a set of values.
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
In this episode, we look at the new Once CLI where we can reference a docker image and deploy it to a server. ► Full Episode - https://www.driftingruby.com/episodes/once-cli ► Visit the Merchandise Store - https://www.railsstore.com/ ► Ruby on Rails Templates -...
In this episode, we look at the new Once CLI where we can reference a docker image and deploy it to a server.
► Full Episode - https://www.driftingruby.com/episodes/once-cli
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
In this episode, we'll explore the Delegated Types pattern and how to use it. We'll discuss different scenarios where it would be a good fit and where it would also be a bad fit. ► Full Episode - https://www.driftingruby.com/episodes/delegated-types ► Visit the Merchandise...
In this episode, we'll explore the Delegated Types pattern and how to use it. We'll discuss different scenarios where it would be a good fit and where it would also be a bad fit.
► Full Episode - https://www.driftingruby.com/episodes/delegated-types
► Visit the Merchandise Store - https://www.railsstore.com/
► Ruby on Rails Templates - https://www.rubidium.io
► Subscribe to Drifting Ruby at https://www.driftingruby.com/subscription/new
#ruby #rubyonrails #programming #code #hotwire #javascript #development
► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com ►...
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
Learn how to use Rails' with_options to DRY up duplicated options across method calls and associations, including how to nest them for shared defaults.
► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com ►...
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
Learn how to dynamically render Rails partials using standard Rails behavior and model_name.plural when needed to clean up messy if/else conditionals in your views. ► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and...
Learn how to dynamically render Rails partials using standard Rails behavior and model_name.plural when needed to clean up messy if/else conditionals in your views.
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com ►...
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
Learn how to use validation contexts in Rails to conditionally validate models - like saving drafts without validation but requiring them when publishing. ► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android...
Learn how to use validation contexts in Rails to conditionally validate models - like saving drafts without validation but requiring them when publishing.
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
https://gorails.com/blog/black-friday-2025 Join us on an exciting journey as we build a powerful domain expiration monitoring app from scratch using Ruby on Rails! ► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and...
https://gorails.com/blog/black-friday-2025
Join us on an exciting journey as we build a powerful domain expiration monitoring app from scratch using Ruby on Rails!
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
https://gorails.com/blog/black-friday-2025 ► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams,...
https://gorails.com/blog/black-friday-2025
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com ►...
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
See all of our Black Friday 2025 discounts here: https://gorails.com/blog/black-friday-2025
► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com ►...
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com ►...
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
► Check out https://gorails.com?via=yt for Pro episodes and more! ► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com! ► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com ►...
► Check out https://gorails.com?via=yt for Pro episodes and more!
► Learn Hotwire with Ruby on Rails, iOS, and Android https://learnhotwire.com!
► SaaS business template for Ruby on Rails with built-in features like Payments, Teams, and much more: https://jumpstartrails.com
► Ruby on Rails hosting with Hatchbox.io: https://hatchbox.io
► Learn how to add Stripe Payments (with SCA support!) with Ruby on Rails: https://courses.gorails.com/payments-with-rails-master-class
Using extend self inside a Ruby module makes all of its instance methods callable directly on the module itself, which is useful when you want a collection of utility-style methods without needing to instantiate an object.
SandCrab is a new experimental project I am working on. It is an Electron app that brings Amazon S3 to your desktop with a simple drag and drop UI. You can use SandCrab to manage and create buckets, upload, download, move, copy and delete files, all from your desktop. Get the...
SandCrab is a new experimental project I am working on. It is an Electron app that brings Amazon S3 to your desktop with a simple drag and drop UI. You can use SandCrab to manage and create buckets, upload, download, move, copy and delete files, all from your desktop.
Get the app here: sandcrab.io
My Website: zayne.io
In this video, we build a working proof of concept for integrating Stability AI's Image Upscaling API into my Electron app Conductor to upscale images and GIFs. I'll be uploading more videos soon working on the codebase of Conductor to add more features to the app. Conductor...
In this video, we build a working proof of concept for integrating Stability AI's Image Upscaling API into my Electron app Conductor to upscale images and GIFs. I'll be uploading more videos soon working on the codebase of Conductor to add more features to the app.
Conductor is a new project I am working on that is built using Electron and FFmpeg. It is a desktop MacOS application for transforming videos, images, and GIFs. I will also be making the production app available to download soon for Patreon subscribers.
My Github: https://github.com/zayneio
My Website: https://zayne.io
Conductor's Website: https://conductor.gg
Patreon: https://patreon.com/zayne_
Timestamps:
00:00 - Introduction
02:17 - StabilityAI's Upscale API
03:19 - API Proof of Concept
05:07 - Upscaling Images
06:13 - Adding the Upscaler to our App
13:01 - Updating the Frontend
17:18 - Updating the Backend
22:13 - Testing Our Image Upscaler
22:50 - Debugging
23:38 - Image Upscaling Works
25:24 - Upscaling GIFs
30:00 - Testing Out Our GIF Upscaler
Conductor is a new project I recently started working on. It is a desktop MacOS app written with Electron and uses FFmpeg under the hood for video and image transformations. Over the next few weeks, I'm going to start sharing some videos working on the codebase of Conductor,...
Conductor is a new project I recently started working on. It is a desktop MacOS app written with Electron and uses FFmpeg under the hood for video and image transformations.
Over the next few weeks, I'm going to start sharing some videos working on the codebase of Conductor, adding new features and building out more functionality.
More here: https://conductor.gg
ProductHunt: https://www.producthunt.com/posts/conductor-b1a9cd41-3057-41bb-9b29-c88e01431103
Twitter: https://x.com/zayneabraham
My website: https://zayne.io
How to use grep to filter down a long list of Rails routes. In this video I’ll explain how to use grep to filter down a long list of Rails routes. This is useful for larger apps where the list of Rails routes can be very long 🔗 Full Rails API tutorial:...
How to use grep to filter down a long list of Rails routes.
In this video I’ll explain how to use grep to filter down a long list of Rails routes. This is useful for larger apps where the list of Rails routes can be very long
🔗 Full Rails API tutorial: https://www.youtube.com/watch?v=FJiIvFoxqsc&list=PLbTv9eGiI03t_gMnEoGakDyDt6r79s5Dm
#rubyonrails #railsroutes #routes #grep #shorts
Learn how to build a Rails API application and how to build endpoints for listing and creating records from the database. This is the first video in my Rails 7 API tutorial series. 📖 You can purchase the eBook and code for this tutorial -...
Learn how to build a Rails API application and how to build endpoints for listing and creating records from the database. This is the first video in my Rails 7 API tutorial series.
📖 You can purchase the eBook and code for this tutorial - https://tomkadwill.gumroad.com/l/rails-api-tutorial
00:00 - Intro
00:21 - Building a payments API
00:52 - Building a new Rails API-only app
01:26 - Adding a route for our first endpoint
02:27 - Adding a controller for our first endpoint
04:04 - Testing GET /payments endpoint
04:45 - Generating a model for payments
06:15 - Running a database migration
07:12 - Update controller to return payments from the DB
07:50 - Adding DB records via rails console
09:11 - Adding POST /payments route
09:49 - Using rails routes and discovering a bug
10:57 - Adding controller action for creating a payment
11:59 - Improving the create action to handle errors
14:19 - Improving the create actions using strong params
16:01 - Testing POST /payments
Download Postman for easier API requests - https://www.postman.com/
How to build an API endpoint using Ruby on Rails. In this video I’ll create a GET endpoint for listing multiple resources. I’m Rails 7. Finally I’ll test the endpoint using cURL. 🔗 Full Rails API tutorial:...
How to build an API endpoint using Ruby on Rails.
In this video I’ll create a GET endpoint for listing multiple resources. I’m Rails 7. Finally I’ll test the endpoint using cURL.
🔗 Full Rails API tutorial: https://www.youtube.com/watch?v=FJiIvFoxqsc&list=PLbTv9eGiI03t_gMnEoGakDyDt6r79s5Dm
#rubyonrails #api #shorts
There is a lot of hype around OpenAI and ChatGPT's use for development. Can I use ChatGPT to build me a Rails API? I'll ask ChatGPT to build me an API with increasing complex requirements and see how far it gets. 00:37 - Building a rails --api app with a GET index endpoint...
There is a lot of hype around OpenAI and ChatGPT's use for development. Can I use ChatGPT to build me a Rails API? I'll ask ChatGPT to build me an API with increasing complex requirements and see how far it gets.
00:37 - Building a rails --api app with a GET index endpoint
04:23 - Adding a DELETE endpoint
06:25 - Versioning the API
08:42 - Adding JWT authentication
13:46 - Thoughts on ChatGPT
This video covers: 0:15 - Context blocks 4:07 - RSpec let 6:16 - described_class 7:17 - subject 7:59 - Simplifying tests with subject and 1-line expectations In this video I'll cover how to use context blocks, within RSpec describe blocks, to test different cases. I'll cover...
This video covers:
0:15 - Context blocks
4:07 - RSpec let
6:16 - described_class
7:17 - subject
7:59 - Simplifying tests with subject and 1-line expectations
In this video I'll cover how to use context blocks, within RSpec describe blocks, to test different cases. I'll cover RSpec's let feature and explain how to use it to simplify your tests. Lastly I'll cover RSpec's `described_class` and `subject` methods and explain how to use them with a real world example.
This video covers: 00:29 - Installing RSpec 01:37 - Setting ruby version for rbenv 02:17 - Creating spec directory and first test file 02:57 - Writing our first basic test 04:13 - Running tests via bundler in the cli 04:57 - describe block 06:18 - it block 07:26 - Writing a...
This video covers:
00:29 - Installing RSpec
01:37 - Setting ruby version for rbenv
02:17 - Creating spec directory and first test file
02:57 - Writing our first basic test
04:13 - Running tests via bundler in the cli
04:57 - describe block
06:18 - it block
07:26 - Writing a real world test for a User class
10:00 - Verifying the test is correct
In this tutorial series I'll cover the most important parts of testing using RSpec 3 and Rails 7. First, I'll explain how to install RSpec and create your first test. After writing the test, I'll show you how to run it via the CLI. I'll cover the basics of structuring RSpec tests using 'describe' and 'it' blocks. Lastly, I'll tie everything together with a real works example.
Checkout this new tutorial series about testing Rails with RSpec. The course uses RSpec 3 and Rails 7 and covers: - Installing RSpec - RSpec 3 syntax - Testing models - Testing controllers - Testing views - Testing mailers, background jobs & ActionCable (all in Rails 7) -...
Checkout this new tutorial series about testing Rails with RSpec. The course uses RSpec 3 and Rails 7 and covers:
- Installing RSpec
- RSpec 3 syntax
- Testing models
- Testing controllers
- Testing views
- Testing mailers, background jobs & ActionCable (all in Rails 7)
- Testing JSON APIs
- Writing integration tests
- And much much more..
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services. ✨ Check out the new version of this video series, which has been updated for Rails 7...
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services.
✨ Check out the new version of this video series, which has been updated for Rails 7 https://youtu.be/FJiIvFoxqsc
📖 You can also purchase the eBook and code for the new Rails 7 tutorial - https://tomkadwill.gumroad.com/l/rails-api-tutorial
This video covers:
00:18 - Running specs to check for failing tests
00:36 - Fixing controller specs by stubbing AuthenticationTokenService
05:31 - Fixing request specs by including a JWT Authorization header with a valid user id
10:52 - Fixing controller to return a 401 when Authorization header is missing, instead of raising an exception
18:31 - Updating AuthenticationTokenService method names
If you’re new to this series, you may want to start with part 1: https://youtu.be/6KqbPJtA5O8
In this video series we will cover RSpec and how to use it to test Rails applications. This video covers: 00:00 - Introduction 00:36 - Creating a new Rails app 01:00 - Installing Rspec 02:14 - Test Driven Development (TDD) 04:38 - Removing the test directory 05:07 - Creating...
In this video series we will cover RSpec and how to use it to test Rails applications.
This video covers:
00:00 - Introduction
00:36 - Creating a new Rails app
01:00 - Installing Rspec
02:14 - Test Driven Development (TDD)
04:38 - Removing the test directory
05:07 - Creating post_spec.rb boilerplate
06:14 - Running our first failing test
06:39 - Creating a Post class to get the tests green
07:29 - Add test for checking Post is valid
08:31 - Replacing Post with an ActiveRecord class
11:28 - Add title field to Post
14:52 - Adding a model validation
17:45 - Using described_class
This is a follow up to the previous 2 videos on building an electron app with react.js. In this part, we will get into setting up a simple json data store that can be used to persist data in our electron app for things like user settings. The lib that I used for this in the...
This is a follow up to the previous 2 videos on building an electron app with react.js. In this part, we will get into setting up a simple json data store that can be used to persist data in our electron app for things like user settings. The lib that I used for this in the video is called electron-store, you can learn more about it here: https://github.com/sindresorhus/electron-store.
In the next part, we will finally jump into doing some things on the react side, setting up a simple way for users to switch between a light/dark theme in the app using the data store that we set up in this video.
Note: One of my goals in making this series is to improve my own knowledge of Electron and Node. It's entirely possible that some of the things I'm doing here are not the best way (or even the correct way) of doing something. Feedback, comments, corrections and constructive criticism are more than welcome!
In this video series we will cover RSpec and how to use it to test Rails applications. This video covers: 00:00 - Video series introduction 00:32 - Why write tests? 02:09 - Why RSpec? 03:05 - Getting familiar with RSpec syntax 03:35 - Creating a new project and installing...
In this video series we will cover RSpec and how to use it to test Rails applications.
This video covers:
00:00 - Video series introduction
00:32 - Why write tests?
02:09 - Why RSpec?
03:05 - Getting familiar with RSpec syntax
03:35 - Creating a new project and installing RSpec
04:59 - Writing a ruby class to use for testing
06:26 - Adding a spec file for user.rb
07:24 - Adding a describe block for User specs
07:40 - Adding a test case using an it block
08:28 - Adding an expectation
09:29 - Failing expectation
09:57 - Writing a test that exercises the User class
11:57 - What could be improved
12:19 - What to expect from this video series
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services. ✨ Check out the new version of this video series, which has been updated for Rails 7...
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services.
✨ Check out the new version of this video series, which has been updated for Rails 7 https://youtu.be/FJiIvFoxqsc
📖 You can also purchase the eBook and code for the new Rails 7 tutorial - https://tomkadwill.gumroad.com/l/rails-api-tutorial
This video covers:
00:00 - Introduction
00:30 - Recap how the /authenticate endpoint works
01:36 - Making API endpoints require authentication
01:52 - Adding a before_action to check authentication
03:32 - Authentication Bearer "token" scheme
04:36 - Parsing the Authentication header and fetching the token using token_and_options
06:55 - Updating the specs to include an authentication header
08:29 - Adding logic to decode the JWT (that's been fetched from the header) and extract the user_id
12:41 - Updating the specs to pass a real JWT in the header
14:28 - Using the user_id to do a database lookup with User.find and resuing exceptions
16:26 - Testing it out with cURL
If you’re new to this series, you may want to start with part 1: https://youtu.be/6KqbPJtA5O8
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services. ✨ Check out the new version of this video series, which has been updated for Rails 7...
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services.
✨ Check out the new version of this video series, which has been updated for Rails 7 https://youtu.be/FJiIvFoxqsc
📖 You can also purchase the eBook and code for the new Rails 7 tutorial - https://tomkadwill.gumroad.com/l/rails-api-tutorial
This video covers:
00:00 - Introduction
00:38 - Adding a new password field
01:32 - Using has_secure_password
01:52 - Using bcrypt for the hashing algorithm
02:58 - Adding a password_digest field
03:54 - Adding has_secure_password to the User model
04:23 - Testing user passwords in the rails console
05:15 - Updating authentication specs with the new password field
06:50 - Adding a new test case for when password is invalid
08:50 - Adding logic to check the user's password, to the authentication controller
10:22 - Adding an AuthenticationError class
11:25 - Rescuing AuthenticationError with rescue_from and returning a 401 (unauthorized) status code
12:56 - Tidying up the controller
14:24 - Testing with cURL
16:35 - Some thoughts on other Rails authentication frameworks
If you’re new to this series, you may want to start with part 1: https://youtu.be/6KqbPJtA5O8
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services. ✨ Check out the new version of this video series, which has been updated for Rails 7...
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services.
✨ Check out the new version of this video series, which has been updated for Rails 7 https://youtu.be/FJiIvFoxqsc
📖 You can also purchase the eBook and code for the new Rails 7 tutorial - https://tomkadwill.gumroad.com/l/rails-api-tutorial
This video covers:
00:00 - Introduction
00:13 - Generating a User model
00:59 - Finding the user, from params, in the authentication controller
01:37 - Calling AuthenticationTokenService and passing in the User ID
02:22 - Running the migrations
02:56 - Using FactoryBot to create a user in the specs
05:01 - Updating AuthenticationTokenService to receive user_id and add it to the JWT payload
06:25 - Fixing the AuthenticationTokenService spec
07:41 - Deleting unused pending spec
08:05 - Creating a User in the DB, in order to manually test authentication
08:48 - Testing the authenticate API via cURL
10:47 - Updating the controller to return the JWT generated from AuthenticationTokenService
12:01 - Checking the JWT on jwt.io
If you’re new to this series, you may want to start with part 1: https://youtu.be/6KqbPJtA5O8
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services. ✨ Check out the new version of this video series, which has been updated for Rails 7...
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services.
✨ Check out the new version of this video series, which has been updated for Rails 7 https://youtu.be/FJiIvFoxqsc
📖 You can also purchase the eBook and code for the new Rails 7 tutorial - https://tomkadwill.gumroad.com/l/rails-api-tutorial
This video covers:
00:00 - Introduction
00:21 - Service classes
00:45 - Creating a services directory
01:24 - Writing initial test case for an authentication token service
03:54 - defining a class method on the authentication token service
05:12 - Generating a JWT using the ruby-jwt gem
08:42 - Adding JWT decode logic to the spec, to verify the token
10:54 - Removing duplicate code and tidying up
13:41 - Recap of what's left to build for our API authentication
If you’re new to this series, you may want to start with part 1: https://youtu.be/6KqbPJtA5O8
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services. ✨ Check out the new version of this video series, which has been updated for Rails 7...
In this video series we will build a Rails API from scratch. Backend APIs are useful for serving data to frontend applications, mobile apps or other backend services.
✨ Check out the new version of this video series, which has been updated for Rails 7 https://youtu.be/FJiIvFoxqsc
📖 You can also purchase the eBook and code for the new Rails 7 tutorial - https://tomkadwill.gumroad.com/l/rails-api-tutorial
This video covers:
00:00 - Introduction
00:27 - Adding a request spec for authentication
02:29 - Adding an /authenticate route
03:34 - Adding an AuthenticationController with 'create' action
04:45 - Updating the spec to post username and password params
05:49 - Updating the spec to check the response code is :created
06:24 - Adding an expectation to check the response body contains a token
07:15 - Adding 'render :json' to the controller, with token and status
08:00 - Adding a test for the case where user doesn't provide username/password
10:36 - Using required params in the auth controller
12:06 - Adding a rescue_from block to catch ParameterMissing and return error response
14:08 - Adding expectation to check the response body includes missing param message
If you’re new to this series, you may want to start with part 1: https://youtu.be/6KqbPJtA5O8
In this video, we'll dive deeper into the main.js file that we copied over from electron-quick-start in the first video. We will add additional functionality to our main.js file to add a tray icon into our menu bar that we can use to toggle the visibility of our app's browser...
In this video, we'll dive deeper into the main.js file that we copied over from electron-quick-start in the first video. We will add additional functionality to our main.js file to add a tray icon into our menu bar that we can use to toggle the visibility of our app's browser window. Along the way, we'll also explore some of the built-in functionality we get with various modules/classes from Electron.
===
📖 Sometime around late 2019/early 2020, I was looking for good resources on setting up an Electron app to use Tray. At the time, I was building a cryptocurrency menu bar app. Funnily enough, one of the best articles I found on this topic happened to be a medium article that was also focused on building a cryptocurrency menu bar app! Several of the tips and methods used in this video to set up the tray functionality come directly from that article, and I highly recommend giving it a read for some additional context: https://medium.com/@nahoc/lets-build-a-system-tray-cryptocurrency-tracker-for-mac-using-electron-part-1-7888747891b.
===
Post Video notes:
- I forgot to mention this in the video, but when setting up the app to use tray, if you use an image for your icon that is too large it may not show up in the menu bar. As an example, the image I used in this video is 16x16.