chore: sync content to repo (#9572)

Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2026-01-29 10:41:01 +01:00
committed by GitHub
parent ae5fbf5da0
commit 083caa1eaf
19 changed files with 173 additions and 17 deletions

View File

@@ -1,3 +1,11 @@
# Background Jobs
# Background Jobs in Rails
Background jobs are tasks that are executed asynchronously, meaning they run separately from the main application process. This allows your web application to remain responsive and handle user requests quickly, while time-consuming or resource-intensive tasks are processed in the background. Common examples include sending emails, processing large data sets, or generating reports.
Background jobs allow you to perform time-consuming tasks outside of the main request-response cycle. This means your web application can remain responsive and quickly handle user requests, while the longer tasks are processed in the background. Rails achieves this using Active Job, a framework for declaring jobs and making them run on a variety of queuing backends like Sidekiq, Resque, or even a simple in-memory queue for development. This abstraction allows developers to write job logic once and easily switch between different background processing systems as needed.
Visit the following resources to learn more:
- [@official@Active Job Basics](https://guides.rubyonrails.org/active_job_basics.html)
- [@article@Rails Background Jobs — Reconstruct Your Application](https://medium.com/@hasnatraza.dev/rails-background-jobs-reconstruct-your-application-ccaef2860552)
- [@article@A Simple Guide to Background Jobs in Ruby on Rails](https://www.bluebash.co/blog/simple-guide-to-background-jobs-in-ruby-on-rails/)
- [@video@Manage asynchronous tasks with Solid Queue | Rails 8 Unpacked](https://www.youtube.com/watch?v=ReyKfb12EVU)
- [@video@Testing Active Job in Ruby on Rails](https://www.youtube.com/watch?v=7ieeu0r27ig)

View File

@@ -0,0 +1,11 @@
# CanCanCan
CanCanCan is an authorization library for Ruby on Rails applications that restricts what resources a given user is allowed to access. It provides a simple and flexible way to define abilities, which represent the permissions a user has on different resources, and then checks these abilities within your controllers and views to control access and display appropriate content. This gem helps in defining and managing user roles and permissions, ensuring that only authorized users can perform specific actions.
Visit the following resources to learn more:
- [@opensource@cancancan](https://github.com/CanCanCommunity/cancancan)
- [@article@Rails 7 Authorization with Cancancan Gem](https://medium.com/@learnwithalfred/rails-7-authorization-with-cancancan-gem-f3a29c01b3bd)
- [@article@Authorization Gems in Ruby: Pundit and CanCanCan](https://blog.appsignal.com/2023/03/22/authorization-gems-in-ruby-pundit-and-cancancan.html)
- [@video@Authorization on Rails (CanCanCan Demonstration)](https://www.youtube.com/watch?v=cTYu-OjUgDw)
- [@video@Ruby On Rails - Authorization Using CanCanCan](https://www.youtube.com/playlist?list=PL6HtmRWwDtYMuIDt4syZdGXWFPZrAWvm_)

View File

@@ -1,3 +1,11 @@
# Capybara
Capybara is a Ruby gem that simplifies acceptance testing for web applications. It simulates how a user interacts with your application through a browser, allowing you to write tests that verify the behavior of your application from an end-user perspective. It provides a clean and easy-to-use API for interacting with elements on a web page, such as clicking links, filling in forms, and asserting the presence of specific content.
Capybara is a Ruby gem that simplifies acceptance testing for web applications. It simulates how a user interacts with your application through a browser, allowing you to write tests that verify the behavior of your application from an end-user perspective. It provides a clean and easy-to-use API for interacting with elements on a web page, such as clicking links, filling in forms, and asserting the presence of specific content.
Visit the following resources to learn more:
- [@opensource@capybara](https://github.com/teamcapybara/capybara)
- [@article@Integration Testing Ruby on Rails with Minitest and Capybara](https://semaphore.io/community/tutorials/integration-testing-ruby-on-rails-with-minitest-and-capybara)
- [@article@A Rails testing “hello world” using RSpec and Capybara](https://www.codewithjason.com/rails-testing-hello-world-using-rspec-capybara/)
- [@video@End to end testing Rails with capybara](https://www.youtube.com/watch?v=ggnGOBe2A3o)
- [@video@System Tests With Capybara and Selenium | Ruby On Rails 7 Tutorial](https://www.youtube.com/watch?v=2TInLtG8dj4)

View File

@@ -0,0 +1,7 @@
# debug
The `debug` helper in Ruby on Rails provides a way to display the contents of a variable or object directly within your views. It's primarily used for debugging purposes, allowing you to quickly inspect data structures and identify issues in your code during development. When used, it outputs the object's information in a readable format within `<pre>` tags on the rendered HTML page, making it easy to examine its properties and values.
Visit the following resources to learn more:
- [@official@debug](https://guides.rubyonrails.org/debugging_rails_applications.html#debug)

View File

@@ -1,3 +1,7 @@
# Debugging
Debugging is the process of identifying and removing errors (bugs) from software. It involves systematically finding the source of a problem, understanding why it's happening, and then implementing a solution to fix it. Effective debugging relies on using tools and techniques to inspect code, track down unexpected behavior, and verify that the fix resolves the issue without introducing new problems.
Debugging is the process of identifying and removing errors (bugs) from software. It involves systematically finding the source of a problem, understanding why it's happening, and then implementing a solution to fix it. Effective debugging relies on using tools and techniques to inspect code, track down unexpected behavior, and verify that the fix resolves the issue without introducing new problems.
Visit the following resources to learn more:
- [@official@Debugging Rails Applications](https://guides.rubyonrails.org/debugging_rails_applications.html#view-helpers-for-debugging)

View File

@@ -1,3 +1,8 @@
# Deployment
Deployment is the process of making your Ruby on Rails application accessible to users on a live server. It involves configuring the server environment, transferring your application code, setting up databases, and ensuring the application runs smoothly and reliably in a production setting. This includes handling aspects like web server configuration, application server setup, database connections, and ongoing maintenance.
Deployment is the process of making your Ruby on Rails application accessible to users on a live server. It involves configuring the server environment, transferring your application code, setting up databases, and ensuring the application runs smoothly and reliably in a production setting. This includes handling aspects like web server configuration, application server setup, database connections, and ongoing maintenance.
Visit the following resources to learn more:
- [@official@Deploying to Production](https://guides.rubyonrails.org/getting_started.html)
- [@video@Deploying with Kamal 2.0 | Rails 8 Unpacked](https://www.youhttps://www.youtube.com/watch?v=sPUk9-1WVXItube.com/watch?v=sPUk9-1WVXI)

View File

@@ -1,3 +1,13 @@
# Factory Bot
Factory Bot is a library for creating Ruby objects for testing purposes. It provides a simple and clean syntax for defining factories, which are blueprints for creating instances of your models with pre-defined attributes. This helps to avoid repetitive setup code in your tests and ensures consistent test data.
Factory Bot is a library for creating Ruby objects for testing purposes. It provides a simple and clean syntax for defining factories, which are blueprints for creating instances of your models with pre-defined attributes. This helps to avoid repetitive setup code in your tests and ensures consistent test data.
Visit the following resources to learn more:
- [@opensource@factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails)
- [@article@FactoryBot for Rails testing](https://www.honeybadger.io/blog/factorybot-for-rails-testing-md/)
- [@article@How I set up Factory Bot on a fresh Rails project](http://codewithjason.com/set-factory-bot-fresh-rails-project/)
- [@article@My Introduction To Factory Bot](https://medium.com/@mariacristina.simoes/my-introduction-to-factory-bot-88949467a7e9)
- [@video@Install Factory Bot with Ruby on Rails](https://www.youtube.com/watch?v=vQQKIyAHPI4)
- [@video@Factory Bot Testing with Active Storage and Devise | Ruby on Rails 7 Tutorial](https://www.youtube.com/watch?v=7JdyQEcZ7F8)
- [@video@Factory Bot Tutorial for Beginners](https://www.youtube.com/watch?v=ef82mR9Mm8Q)

View File

@@ -1,3 +1,12 @@
# Kamal
Kamal is a deployment tool created by 37signals (the creators of Ruby on Rails) designed to simplify the process of deploying web applications to one or more servers. It focuses on using Docker containers and modern deployment strategies like zero-downtime deployments, making it easier to manage and scale your Rails applications in production environments. It aims to provide a streamlined alternative to more complex deployment solutions.
Kamal is a deployment tool created by 37signals (the creators of Ruby on Rails) designed to simplify the process of deploying web applications to one or more servers. It focuses on using Docker containers and modern deployment strategies like zero-downtime deployments, making it easier to manage and scale your Rails applications in production environments. It aims to provide a streamlined alternative to more complex deployment solutions.
Visit the following resources to learn more:
- [@official@Kamal](https://kamal-deploy.org/)
- [@opensource@kamal](https://github.com/basecamp/kamal)
- [@article@Deploying a Rails 8 app with Kamal](https://community.hetzner.com/tutorials/deploy-rails-8-app-on-hetzner-with-kamal)
- [@video@https://www.youtube.com/watch?v=sPUk9-1WVXI](https://www.youhttps//www.youtube.com/watch?v=sPUk9-1WVXItube.com/watch?v=sPUk9-1WVXI)
- [@video@How to Deploy a Rails App With Kamal](https://www.youtube.com/watch?v=9nRY0p2br28)
- [@video@Absolute Beginners Guide to Deploying Rails 8 to Production (Kamal Tutorial)](https://www.youtube.com/watch?v=tGi3YGGhIGg)

View File

@@ -1,3 +1,11 @@
# Logging
Logging involves recording events that occur within an application, such as user actions, errors, and system information. This recorded data is typically stored in log files, providing a valuable resource for monitoring application behavior, diagnosing issues, and understanding performance. Rails provides a built-in logging framework that simplifies the process of generating and managing these logs.
Logging involves recording events that occur within an application, such as user actions, errors, and system information. This recorded data is typically stored in log files, providing a valuable resource for monitoring application behavior, diagnosing issues, and understanding performance. Rails provides a built-in logging framework that simplifies the process of generating and managing these logs.
Visit the following resources to learn more:
- [@article@How to Start Logging With Ruby on Rails](https://betterstack.com/community/guides/logging/how-to-start-logging-with-ruby-on-rails/)
- [@article@Making the Most of Your Logs in Rails](https://blog.appsignal.com/2023/03/01/making-the-most-of-your-logs-in-rails.html)
- [@article@The Rails Logging Setup That Saved Me From Debugging Hell](https://bhavyansh001.medium.com/the-rails-logging-setup-that-saved-me-from-debugging-hell-97904592eceb)
- [@video@Debugging And Logging | Intro To Ruby On Rails 7 Part 24](https://www.youtube.com/watch?v=9rDK2rbm6DI)
- [@video@Logging Mastery: From Rails Default to Kibana 📈](https://www.youtube.com/watch?v=CoHMwJsLiLU)

View File

@@ -1,3 +1,14 @@
# Mailbox and Mailer
The Rails Mailbox and Mailer provide a structured way to handle incoming and outgoing emails. Mailers are used to compose and send emails from your application, defining email content, recipients, and headers. Mailboxes, introduced more recently, route incoming emails to specific controllers or models within your application, allowing you to process and respond to emails programmatically.
The Rails Mailbox and Mailer provide a structured way to handle incoming and outgoing emails. Mailers are used to compose and send emails from your application, defining email content, recipients, and headers. Mailboxes, introduced more recently, route incoming emails to specific controllers or models within your application, allowing you to process and respond to emails programmatically.
Visit the following resources to learn more:
- [@official@Action Mailbox Basics](https://guides.rubyonrails.org/action_mailbox_basics.html)
- [@official@Action Mailer Basics](https://guides.rubyonrails.org/action_mailer_basics.html)
- [@article@In Depth Look At Action Mailbox](https://www.codynorman.com/ruby/action_mailbox/)
- [@article@Rails Mailer Tutorial](https://medium.com/@ericschwartz7/rails-mailer-tutorial-82700f6737d9)
- [@article@Writing better Action Mailers: Revisiting a core Rails concept](https://boringrails.com/articles/writing-better-action-mailers/)
- [@video@Receive and process inbound email with Ruby on Rails](https://www.youtube.com/watch?v=jOfAV2QWNOw&t=87s)
- [@video@Action Mailer for Beginners | Ruby on Rails 7](https://www.youtube.com/watch?v=-8Rs1DcMZ9I)
- [@video@Realtime Rails with Hotwire & ActionMailbox | Part 1](https://www.youtube.com/watch?v=WSuFaY7-q3g&t=66s)

View File

@@ -1,3 +1,11 @@
# Minitest
Minitest is a complete testing suite for Ruby, providing support for test-driven development (TDD), behavior-driven development (BDD), mocking, and benchmarking. It's a lightweight and fast testing framework that comes bundled with Ruby, making it readily available for use in Rails applications. Minitest allows developers to write various types of tests, including unit tests, integration tests, and system tests, to ensure the quality and reliability of their code.
Minitest is a complete testing suite for Ruby, providing support for test-driven development (TDD), behavior-driven development (BDD), mocking, and benchmarking. It's a lightweight and fast testing framework that comes bundled with Ruby, making it readily available for use in Rails applications. Minitest allows developers to write various types of tests, including unit tests, integration tests, and system tests, to ensure the quality and reliability of their code.
Visit the following resources to learn more:
- [@opensource@minirtest](https://github.com/minitest/minitest)
- [@article@Getting Started With Testing In Rails (Using Minitest and RSpec)](https://medium.com/@ethanryan/getting-started-with-testing-in-rails-using-minitest-and-rspec-113fe1f866a)
- [@article@Minitest vs. RSpec in Rails](https://www.honeybadger.io/blog/minitest-rspec-rails/)
- [@article@Getting Started With System Tests in Rails With Minitest](https://blog.appsignal.com/2020/02/12/getting-started-with-system-tests-in-ruby-with-minitest.html)
- [@article@Testing Rails with MiniTest](https://medium.com/@mario_chavez/testing-rails-with-minitest-7b4f99d4fcb8)

View File

@@ -0,0 +1,12 @@
# Plugins & Engines
Plugins and engines in Rails are both ways to package and reuse code, but they serve slightly different purposes. Plugins are typically smaller and used to add specific functionalities or modify existing behavior within a Rails application. Engines, on the other hand, are more self-contained and can act as mini-applications within a larger Rails application, often providing their own models, controllers, views, and routes.
Visit the following resources to learn more:
- [@official@The Basics of Creating Rails Plugins](https://guides.rubyonrails.org/plugins.html)
- [@official@Getting Started with Engines](https://guides.rubyonrails.org/engines.html)
- [@article@Building Ruby on Rails engines](https://www.honeybadger.io/blog/rails-engines/)
- [@article@A Guide to Rails Engines in the Wild: Real World Examples of Rails Engines in Action](https://www.toptal.com/developers/ruby-on-rails/rails-engines-in-the-wild-real-world-examples-of-rails-engines-in-action)
- [@video@Creating A Private Ruby Gem for Ruby on Rails 7](https://www.youtube.com/watch?v=H4j2vUwZgEk)
- [@video@Your First Rails Engine | Ruby on Rails 7 Gem Tutorial](http://youtube.com/watch?v=7AVb4mJuIWA)

View File

@@ -1,3 +1,11 @@
# Pry
Pry is a powerful Ruby runtime developer console and alternative to `irb`. It allows you to pause your code's execution at any point, inspect variables, step through code line by line, and even modify your code on the fly. This makes it an invaluable tool for understanding and debugging Ruby and Rails applications.
Pry is a powerful Ruby runtime developer console and alternative to `irb`. It allows you to pause your code's execution at any point, inspect variables, step through code line by line, and even modify your code on the fly. This makes it an invaluable tool for understanding and debugging Ruby and Rails applications.
Visit the following resources to learn more:
- [@opensource@pry](https://github.com/pry/pry)
- [@article@How to use Pry to debug Ruby apps](https://www.honeybadger.io/blog/debugging-ruby-with-pry/)
- [@article@Debugging Ruby Code with Pry](https://laflamablanc.medium.com/debugging-ruby-code-with-pry-a0bf1f5e97ca)
- [@video@Pry Open Your Rails 7 Code Debug Like a Pro](https://www.youtube.com/watch?v=yMdV0tpra7c)
- [@video@Ruby on Rails - Railscasts #280 Pry With Rails](https://www.youtube.com/watch?v=KfFf2-KJNTU)

View File

@@ -1,3 +1,11 @@
# Rails Internationalization
Internationalization (I18n) is the process of designing and developing applications that can be adapted to various languages and regions without engineering changes. It involves extracting text and other locale-specific data from the application's code and storing it in separate files, allowing the application to be translated and formatted for different locales. This enables users to interact with the application in their preferred language and cultural context.
Internationalization (I18n) is the process of designing and developing applications that can be adapted to various languages and regions without engineering changes. It involves extracting text and other locale-specific data from the application's code and storing it in separate files, allowing the application to be translated and formatted for different locales. This enables users to interact with the application in their preferred language and cultural context.
Visit the following resources to learn more:
- [@official@Rails Internationalization (I18n) API](https://guides.rubyonrails.org/i18n.html)
- [@article@Rails internationalization (I18n): Tutorial on Rails locales & more](https://lokalise.com/blog/rails-i18n/)
- [@article@A Comprehensive Guide to Rails Internationalization (i18n)](https://www.honeybadger.io/blog/rails-i18n/)
- [@article@7 Key Best Practices for Rails Internationalization](https://phrase.com/blog/posts/rails-i18n-best-practices/)
- [@video@Intro To I18n Localizations With Ruby On Rails 7](https://www.youtube.com/watch?v=gkaxM1AqBss)

View File

@@ -1,3 +1,9 @@
# Rails Logger
The Rails Logger is a built-in component within Ruby on Rails that provides a standardized way to record events and messages during the execution of an application. It allows developers to track application behavior, diagnose issues, and monitor performance by writing information to various output destinations, such as files or the console. The logger offers different severity levels (e.g., debug, info, warn, error, fatal) to categorize messages based on their importance, enabling developers to filter and prioritize logged information effectively.
The Rails Logger is a built-in component within Ruby on Rails that provides a standardized way to record events and messages during the execution of an application. It allows developers to track application behavior, diagnose issues, and monitor performance by writing information to various output destinations, such as files or the console. The logger offers different severity levels (e.g., debug, info, warn, error, fatal) to categorize messages based on their importance, enabling developers to filter and prioritize logged information effectively.
Visit the following resources to learn more:
- [@official@The Logger](https://guides.rubyonrails.org/debugging_rails_applications.html#the-logger)
- [@article@How to Start Logging With Ruby on Rails](https://betterstack.com/community/guides/logging/how-to-start-logging-with-ruby-on-rails/#step-6-configuring-logger)
- [@video@Debugging And Logging | Intro To Ruby On Rails 7 Part 24](https://www.youtube.com/watch?v=9rDK2rbm6DI)

View File

@@ -1,3 +1,13 @@
# RSpec
RSpec is a testing framework for Ruby. It provides a domain-specific language (DSL) for writing tests that are easy to read and understand. RSpec focuses on behavior-driven development (BDD), allowing developers to describe the desired behavior of their code in a clear and concise manner, leading to more maintainable and reliable applications.
RSpec is a testing framework for Ruby. It provides a domain-specific language (DSL) for writing tests that are easy to read and understand. RSpec focuses on behavior-driven development (BDD), allowing developers to describe the desired behavior of their code in a clear and concise manner, leading to more maintainable and reliable applications.
Visit the following resources to learn more:
- [@official@RSpec](https://rspec.info/)
- [@opensource@rspec-rails](https://github.com/rspec/rspec-rails)
- [@article@Ruby on Rails Testing with RSpec: Writing your First Tests](https://medium.com/nerd-for-tech/ruby-on-rails-testing-with-rspec-writing-your-first-tests-6330920928fd)
- [@article@Getting Started With Testing In Rails (Using Minitest and RSpec)](https://medium.com/@ethanryan/getting-started-with-testing-in-rails-using-minitest-and-rspec-113fe1f866a)
- [@article@Minitest vs. RSpec in Rails](https://www.honeybadger.io/blog/minitest-rspec-rails/)
- [@video@Automated testing with rspec](https://www.youtube.com/playlist?list=PLS6F722u-R6Ik3fbeLXbSclWkT6Qsp9ng)
- [@video@Test Driven RSpec](https://www.youtube.com/playlist?list=PLr442xinba86s9cCWxoIH_xq5UE9Wwo4Z)

View File

@@ -1,3 +1,11 @@
# Security
Security in web applications involves protecting data and functionality from unauthorized access, use, disclosure, disruption, modification, or destruction. It encompasses various practices and techniques to ensure confidentiality, integrity, and availability of the application and its data. This includes addressing vulnerabilities like cross-site scripting (XSS), SQL injection, and authentication bypasses.
Security in web applications involves protecting data and functionality from unauthorized access, use, disclosure, disruption, modification, or destruction. It encompasses various practices and techniques to ensure confidentiality, integrity, and availability of the application and its data. This includes addressing vulnerabilities like cross-site scripting (XSS), SQL injection, and authentication bypasses.
Visit the following resources to learn more:
- [@official@Securing Rails Applications](https://guides.rubyonrails.org/security.html)
- [@article@A Complete Guide to Ruby on Rails Security Measures 🛡️](https://railsdrop.com/2025/05/11/a-complete-guide-to-ruby-on-rails-security-measures/)
- [@article@The inadequate guide to Rails security](https://www.honeybadger.io/blog/ruby-security-tutorial-and-rails-security-guide/)
- [@article@Essential Security Best Practices for Ruby on Rails](https://dev.to/harsh_u115/essential-security-best-practices-for-ruby-on-rails-4d68)
- [@article@Securing Ruby on Rails Applications: Best Practices](https://medium.com/@vaishnaviganeshkar15/securing-ruby-on-rails-applications-best-practices-787f2cc03f02)

View File

@@ -1,3 +1,10 @@
# Storage in Ruby on Rails
Rails itself doesn't directly manage file storage; instead, it relies on external services or libraries to handle the actual saving and retrieval of these files. This allows you to store files locally on your server, or more commonly, in cloud storage services like Amazon S3, Google Cloud Storage, or Azure Blob Storage. These services offer scalability, reliability, and often lower costs compared to managing storage yourself.
Rails itself doesn't directly manage file storage; instead, it relies on external services or libraries to handle the actual saving and retrieval of these files. This allows you to store files locally on your server, or more commonly, in cloud storage services like Amazon S3, Google Cloud Storage, or Azure Blob Storage. These services offer scalability, reliability, and often lower costs compared to managing storage yourself.
Visit the following resources to learn more:
- [@official@Active Storage Overview](https://guides.rubyonrails.org/active_storage_overview.html)
- [@article@Using Active Storage for Ruby on Rails](https://medium.com/@bwrosen20/using-active-storage-for-ruby-on-rails-a84991e45d93)
- [@video@Active Storage For File Uploads | Ruby on Rails 7 Tutorial](https://www.youtube.com/watch?v=jjjAJeWJ2xE)
- [@video@Active Storage in Ruby on Rails 5.2](https://www.youtube.com/playlist?list=PL3mtAHT_eRexVRWcjcqgfTvYQD2scoTlk)

View File

@@ -1,3 +1,11 @@
# Testing
Testing in software development involves verifying that individual units of code (unit tests) and the application as a whole (integration and system tests) function as expected. It helps ensure code quality, prevents regressions, and facilitates easier refactoring by providing a safety net to catch errors early in the development process. Different types of tests, such as unit, integration, and system tests, focus on different aspects of the application to provide comprehensive coverage.
Testing in software development involves verifying that individual units of code (unit tests) and the application as a whole (integration and system tests) function as expected. It helps ensure code quality, prevents regressions, and facilitates easier refactoring by providing a safety net to catch errors early in the development process. Different types of tests, such as unit, integration, and system tests, focus on different aspects of the application to provide comprehensive coverage.
Visit the following resources to learn more:
- [@official@Testing Rails Applications](https://guides.rubyonrails.org/testing.html)
- [@article@A journey towards better Ruby on Rails testing practices](https://thoughtbot.com/blog/a-journey-towards-better-testing-practices)
- [@article@What are all the Rails testing tools and how do I use them?](https://www.codewithjason.com/rails-testing-tools/)
- [@video@Testing in Ruby on Rails Applications (Unit, Integration, & Functional Tests)](https://www.youtube.com/watch?v=eXmA1vWGDfs)
- [@video@Testing A Rails App That Uses Devise Sessions | Ruby On Rails 7 Tutorial](https://www.youtube.com/watch?v=PtGjHGdJQrQ)