diff --git a/src/data/roadmaps/ruby/content/conditional-statements@FIALdP3ZhOlzW-OIlJoT2.md b/src/data/roadmaps/ruby/content/conditional-statements@FIALdP3ZhOlzW-OIlJoT2.md new file mode 100644 index 000000000..686c230bd --- /dev/null +++ b/src/data/roadmaps/ruby/content/conditional-statements@FIALdP3ZhOlzW-OIlJoT2.md @@ -0,0 +1,9 @@ +# Conditional Statements + +Conditional statements allow you to execute different blocks of code based on whether a certain condition is true or false. They provide a way to control the flow of your program, enabling it to make decisions and respond differently to various inputs or situations. Common conditional statements include `if`, `elsif`, and `else`, which let you define different code paths depending on the evaluation of boolean expressions. + +Visit the following resources to learn more: + +- [@article@Conditional Logic](https://www.theodinproject.com/lessons/ruby-conditional-logic#case-statements) +- [@article@Conditionals](https://launchschool.com/books/ruby/read/flow_control#conditionals) +- [@article@Ruby Explained: Conditionals and Flow Control](https://eriktrautman.com/posts/ruby-explained-conditionals-and-flow-control) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/data-types@wsnjdnZZohQsVBfM1uN8H.md b/src/data/roadmaps/ruby/content/data-types@wsnjdnZZohQsVBfM1uN8H.md new file mode 100644 index 000000000..c1af2b825 --- /dev/null +++ b/src/data/roadmaps/ruby/content/data-types@wsnjdnZZohQsVBfM1uN8H.md @@ -0,0 +1,10 @@ +# Data Types + +Data types are classifications that specify which type of value a variable can hold and what operations can be performed on it. They define the kind of data, such as numbers, text, or boolean values, that can be stored and manipulated within a program. Understanding data types is fundamental to writing correct and efficient code, as it allows the program to handle different kinds of information appropriately. + +Visit the following resources to learn more: + +- [@article@Basic Data Types](https://www.theodinproject.com/lessons/ruby-basic-data-types) +- [@article@Understanding Data Types in Ruby](https://www.digitalocean.com/community/tutorials/understanding-data-types-in-ruby) +- [@article@Ruby DataTypes: Explore the Fundamentals](https://www.theknowledgeacademy.com/blog/ruby-data-types/) +- [@video@Data Types | Ruby | Tutorial 7](https://www.youtube.com/watch?v=rjLB_bD3SLU) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/enumerable@jw218cE_PQDRnOTzCXpXr.md b/src/data/roadmaps/ruby/content/enumerable@jw218cE_PQDRnOTzCXpXr.md new file mode 100644 index 000000000..3976ea65e --- /dev/null +++ b/src/data/roadmaps/ruby/content/enumerable@jw218cE_PQDRnOTzCXpXr.md @@ -0,0 +1,9 @@ +# Conditional Statements + +Conditional statements allow you to execute different blocks of code based on whether a certain condition is true or false. They provide a way to control the flow of your program, enabling it to make decisions and respond differently to various inputs or situations. Common conditional statements include `if`, `elsif`, `else`, and `unless`. + +Visit the following resources to learn more: + +- [@article@Conditional Logic](https://www.theodinproject.com/lessons/ruby-conditional-logic) +- [@article@The Beginner's Guide to Ruby If & Else Statements](http://rubyguides.com/ruby-tutorial/ruby-if-else/) +- [@article@Ruby - if...else, case, unless](https://www.tutorialspoint.com/ruby/ruby_if_else.htm) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/fibers@_ruCDzzaSuoE_8tRacTeK.md b/src/data/roadmaps/ruby/content/fibers@_ruCDzzaSuoE_8tRacTeK.md index f16f45be9..7bde6a89f 100644 --- a/src/data/roadmaps/ruby/content/fibers@_ruCDzzaSuoE_8tRacTeK.md +++ b/src/data/roadmaps/ruby/content/fibers@_ruCDzzaSuoE_8tRacTeK.md @@ -4,7 +4,7 @@ Fibers are a lightweight concurrency construct that allows you to create code bl Visit the following resources to learn more: +- [@book@Magesh, "Concurrency in Ruby: Threads, Fibers, and Ractors Demystified"](https://www.youtube.com/watch?v=LVHiq_SbQOE) - [@official@class Fiber](https://docs.ruby-lang.org/en/master/Fiber.html) - [@article@How to use Ruby Fibers for Background Jobs](https://medium.com/@alieckaja/unleashing-the-power-of-fibers-for-background-jobs-8a22e3a38cd1) -- [@article@Ruby Fibers 101](https://blog.saeloun.com/2022/03/01/ruby-fibers-101/) -- [@book@Magesh, "Concurrency in Ruby: Threads, Fibers, and Ractors Demystified"](https://www.youtube.com/watch?v=LVHiq_SbQOE) \ No newline at end of file +- [@article@Ruby Fibers 101](https://blog.saeloun.com/2022/03/01/ruby-fibers-101/) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/loops--enumerations@dRfPXHrI5CHCELySKLZuQ.md b/src/data/roadmaps/ruby/content/loops--enumerations@dRfPXHrI5CHCELySKLZuQ.md new file mode 100644 index 000000000..2018ece34 --- /dev/null +++ b/src/data/roadmaps/ruby/content/loops--enumerations@dRfPXHrI5CHCELySKLZuQ.md @@ -0,0 +1,10 @@ +# Loops & Enumerations + +Loops in Ruby allow you to execute a block of code repeatedly. Enumerations, on the other hand, are methods that iterate over collections like arrays and hashes, applying a block of code to each element. Both loops and enumerations provide ways to process data and perform actions multiple times, but enumerations are often preferred for their conciseness and readability when working with collections. + +Visit the following resources to learn more: + +- [@article@Loops and Iterators](https://launchschool.com/books/ruby/read/loops_iterators#simpleloop) +- [@article@Loops](https://www.theodinproject.com/lessons/ruby-loops) +- [@article@Ruby Loops: Repeating Something Many Times](https://www.rubyguides.com/ruby-tutorial/loops/) +- [@article@Ruby - Loops](https://www.tutorialspoint.com/ruby/ruby_loops.htm) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/metaprogramming@ufLdyKM3iya8zuMD1_sIj.md b/src/data/roadmaps/ruby/content/metaprogramming@ufLdyKM3iya8zuMD1_sIj.md index 48f4a3a57..fa2cd2724 100644 --- a/src/data/roadmaps/ruby/content/metaprogramming@ufLdyKM3iya8zuMD1_sIj.md +++ b/src/data/roadmaps/ruby/content/metaprogramming@ufLdyKM3iya8zuMD1_sIj.md @@ -4,9 +4,9 @@ Metaprogramming is essentially writing code that manipulates other code. It allo Visit the following resources to learn more: +- [@book@Metaprogramming Ruby.pdf](https://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Ruby/Metaprogramming%20Ruby.pdf) - [@article@Ruby Metaprogramming: How to Write Dynamic Code](https://betterstack.com/community/guides/scaling-ruby/metaprogramming/) - [@article@An Introduction to Metaprogramming in Ruby](https://blog.appsignal.com/2023/07/26/an-introduction-to-metaprogramming-in-ruby.html) - [@article@Ruby Metaprogramming: Real-World Examples](https://www.rubyguides.com/2016/04/metaprogramming-in-the-wild/) - [@article@Ruby Metaprogramming Secrets](https://www.rubyguides.com/guides/metaprogramming-guide.pdf) -- [@book@Metaprogramming Ruby.pdf](https://theswissbay.ch/pdf/Gentoomen%20Library/Programming/Ruby/Metaprogramming%20Ruby.pdf) - [@video@RubyConf 2022: In Defense of Ruby Metaprogramming By Noel Rappin](https://www.youtube.com/watch?v=D_ZRaZucjm4) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/minitest@C7Dy0rqAo-HotIVlCBa1G.md b/src/data/roadmaps/ruby/content/minitest@C7Dy0rqAo-HotIVlCBa1G.md index b754a015c..24d1897ab 100644 --- a/src/data/roadmaps/ruby/content/minitest@C7Dy0rqAo-HotIVlCBa1G.md +++ b/src/data/roadmaps/ruby/content/minitest@C7Dy0rqAo-HotIVlCBa1G.md @@ -4,7 +4,7 @@ Minitest is a complete testing suite for Ruby. It provides support for test-driv Visit the following resources to learn more: +- [@roadmap@Ruby Minitest Tutorial](https://www.youtube.com/watch?v=Reso8FlRRAc) - [@opensource@minitest](https://github.com/minitest/minitest) - [@article@MiniTest - Writing Test Code In Ruby (2/3)](https://dev.to/exampro/minitest-writing-test-code-in-ruby-part-2-of-3-4306) -- [@article@Getting Started with Minitest](https://www.cloudbees.com/blog/getting-started-with-minitest) -- [@roadmap@Ruby Minitest Tutorial](https://www.youtube.com/watch?v=Reso8FlRRAc) \ No newline at end of file +- [@article@Getting Started with Minitest](https://www.cloudbees.com/blog/getting-started-with-minitest) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/naming-conventions@tRGKIfQG9IiPJGuO8DUX4.md b/src/data/roadmaps/ruby/content/naming-conventions@tRGKIfQG9IiPJGuO8DUX4.md new file mode 100644 index 000000000..4dd282179 --- /dev/null +++ b/src/data/roadmaps/ruby/content/naming-conventions@tRGKIfQG9IiPJGuO8DUX4.md @@ -0,0 +1,8 @@ +# Naming Conventions + +Naming conventions are a set of rules or guidelines for choosing names for variables, methods, classes, and other entities in a programming language. These conventions promote code readability, maintainability, and consistency across projects. Following a standard naming style helps developers understand the purpose and scope of different elements within the code more easily. + +Visit the following resources to learn more: + +- [@article@Ruby Naming Convention](https://namingconvention.org/ruby/) +- [@article@Naming conventions in Ruby language](https://dhanusir.com/ruby/section-two/naming-conventions/) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/operators@5ThpsSMnFZUxWV1Y2Z75A.md b/src/data/roadmaps/ruby/content/operators@5ThpsSMnFZUxWV1Y2Z75A.md new file mode 100644 index 000000000..b3cd2cac0 --- /dev/null +++ b/src/data/roadmaps/ruby/content/operators@5ThpsSMnFZUxWV1Y2Z75A.md @@ -0,0 +1,9 @@ +# Operators + +Operators are special symbols in Ruby that perform operations on one or more operands (values or variables). These operations can include arithmetic calculations (like addition and subtraction), comparisons (like checking if two values are equal), logical evaluations (like determining if a condition is true or false), and assignment of values to variables. They are fundamental building blocks for creating expressions and controlling the flow of logic in Ruby programs. + +Visit the following resources to learn more: + +- [@official@Operators](https://docs.ruby-lang.org/en/3.4/syntax/operators_rdoc.html) +- [@article@Everything You Need to Know About Ruby Operators](https://www.rubyguides.com/2018/07/ruby-operators/) +- [@article@Ruby - Operators](https://www.tutorialspoint.com/ruby/ruby_operators.htm) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/ractors@H4Cz_4xcMJmU0UwvEhNIn.md b/src/data/roadmaps/ruby/content/ractors@H4Cz_4xcMJmU0UwvEhNIn.md index af6b501f0..24f11d6b6 100644 --- a/src/data/roadmaps/ruby/content/ractors@H4Cz_4xcMJmU0UwvEhNIn.md +++ b/src/data/roadmaps/ruby/content/ractors@H4Cz_4xcMJmU0UwvEhNIn.md @@ -1,10 +1,3 @@ -# Ractors +# Threads -Ractors are an actor-model concurrency abstraction in Ruby. They provide a way to achieve parallel execution by isolating state between different actors. Each Ractor has its own independent memory space, preventing data races and allowing for safer concurrent programming. Communication between Ractors happens through message passing, ensuring that data is explicitly transferred and not shared directly. - -Visit the following resources to learn more: - -- [@official@class Ractor](https://docs.ruby-lang.org/en/master/Ractor.html) -- [@article@An Introduction to Ractors in Ruby](https://blog.appsignal.com/2022/08/24/an-introduction-to-ractors-in-ruby.html) -- [@article@Ruby on Ractors: Parallel Execution Done Beautifully](https://medium.com/@dave_russell/ruby-on-ractors-parallel-execution-done-beautifully-c05a09d22102) -- [@video@Magesh, "Concurrency in Ruby: Threads, Fibers, and Ractors Demystified"](https://www.youtube.com/watch?v=LVHiq_SbQOE) \ No newline at end of file +Threads are a way to achieve concurrency within a single process. They allow multiple parts of a program to execute seemingly simultaneously by sharing the same memory space. This can improve performance by utilizing multiple CPU cores or by allowing a program to remain responsive while performing long-running tasks. \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/setting-things-up@Av5hlCtE-ZoeKpS0k3kLA.md b/src/data/roadmaps/ruby/content/setting-things-up@Av5hlCtE-ZoeKpS0k3kLA.md new file mode 100644 index 000000000..a5139ba7f --- /dev/null +++ b/src/data/roadmaps/ruby/content/setting-things-up@Av5hlCtE-ZoeKpS0k3kLA.md @@ -0,0 +1,12 @@ +# Installing Ruby + +Installing Ruby involves setting up the Ruby interpreter and related tools on your system so you can run Ruby programs. This typically includes downloading a Ruby distribution, configuring your environment, and verifying the installation to ensure everything is working correctly. Different operating systems (like Windows, macOS, and Linux) have their own preferred methods for installing Ruby, often involving package managers or dedicated installers. + +Visit the following resources to learn more: + +- [@official@Installing Ruby](https://www.ruby-lang.org/en/documentation/installation/) +- [@article@Installing Ruby](https://www.theodinproject.com/lessons/ruby-installing-ruby) +- [@article@How to Install Ruby on Windows, macOS, and Linux](https://dev.to/luigi_ichi/how-to-install-ruby-on-windows-macos-and-linux-35o3) +- [@article@Setting up Ruby on WSL2 using Rbenv](https://codex.org/2022/08/19/setting-up-ruby-wsl2.html) +- [@video@Ruby Beginner Tutorial 2 | How To Install Ruby On Windows](https://www.youtube.com/watch?v=XC1ccTyhLPI) +- [@video@Ruby Beginner Tutorial 3 | How To Install Ruby On MacOS](https://www.youtube.com/watch?v=2pycF6hMy0s) \ No newline at end of file diff --git a/src/data/roadmaps/ruby/content/type-casting@NjCor7ePiZapd4f6bMZlV.md b/src/data/roadmaps/ruby/content/type-casting@NjCor7ePiZapd4f6bMZlV.md new file mode 100644 index 000000000..618da5aaa --- /dev/null +++ b/src/data/roadmaps/ruby/content/type-casting@NjCor7ePiZapd4f6bMZlV.md @@ -0,0 +1,7 @@ +Type casting, also known as type conversion, is the process of changing a value from one data type to another. This is often necessary when you need to perform operations that require specific data types or when you want to represent data in a different format. For example, you might need to convert a string representation of a number into an actual integer or float to perform mathematical calculations. + +Visit the following resources to learn more: + +- [@article@Ruby type conversion](https://kddnewton.com/2021/09/09/ruby-type-conversion.html) +- [@article@How To Convert Data Types in Ruby](https://www.digitalocean.com/community/tutorials/how-to-convert-data-types-in-ruby) +- [@article@Confident Code - Ruby Implicit and Explicit Type Converters](https://whatapalaver.co.uk/ruby-implicit-explicit-type-conversion) \ No newline at end of file