Complete Guide to Ruby
9h 18mIntermediate2024-12-12
Authors

Kevin Skoglund
Founder of NovaFabrica
Course details
Ruby, the popular object-oriented open-source programming language, is a great place to start learning programming or web development. You can use it to write interactive programs or to build scripts to speed up workflows and common tasks. In this course, instructor Kevin Skoglund covers everything new and experienced developers need to know to code with Ruby, from core object types and control structures to object-oriented programming with classes and modules. Along the way, Kevin outlines best practices and practical examples through a series of fun coding challenges. By the end of this course, you’ll be prepared to start coding in Ruby to define your own custom methods with loops and conditional logic.
Skills covered
RubyBack-End Web DevelopmentWeb DevelopmentProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Learn Ruby
- 02 - Using GitHub Codespaces
1. Get Started with Ruby
- 03 - Introducing Ruby
- 04 - Install Ruby
- 05 - Using Ruby
- 06 - Interactive Ruby Shell (IRB)
2. Ruby Object Types
- 07 - Objects
- 08 - Variables
- 09 - Numbers - Integers
- 10 - Numbers - Floats
- 11 - Strings
- 12 - Strings - Escaping and interpolation
- 13 - Arrays
- 14 - Array methods
- 15 - Hashes
- 16 - Symbols
- 17 - Booleans
- 18 - Ranges
- 19 - Constants
- 20 - Nil
- 21 - Challenge - Roman numerals
- 22 - Solution - Roman numerals
3. Control Structures
- 23 - About control structures
- 24 - Conditionals - if, else, elsif
- 25 - Conditionals - unless
- 26 - Conditionals - case
- 27 - Conditionals - Shorthand operators
- 28 - Loops
- 29 - Iterators
- 30 - Challenge - Blanket patterns
- 31 - Solution - Blanket patterns
4. Ruby Scripting
- 32 - Identifying Ruby code
- 33 - Exit a running script
- 34 - Input and output
- 35 - Challenge - Guessing game
- 36 - Solution - Guessing game
5. Dates and Times
- 37 - Time
- 38 - Date
- 39 - Challenge - Birthdate analysis
- 40 - Solution - Birthdate analysis
6. Enumerables and Code Blocks
- 41 - Enumerables
- 42 - Code blocks
- 43 - Find methods
- 44 - Map methods
- 45 - Inject methods
- 46 - Sort methods
- 47 - Merge methods
- 48 - Challenge - Ruby blanks
- 49 - Solution - Ruby blanks
7. Custom Methods
- 50 - Define and call methods
- 51 - Variable scope
- 52 - Arguments
- 53 - Argument default values
- 54 - Using a hash of options
- 55 - Return value
- 56 - Return multiple values
- 57 - Output vs. return values
- 58 - Challenge - Pig Latin
- 59 - Solution - Pig Latin
8. Classes
- 60 - Define a class
- 61 - Instances
- 62 - Attributes
- 63 - Reader writer methods
- 64 - Attribute methods
- 65 - Method access control
- 66 - Initialize method
- 67 - Challenge - Dice
- 68 - Solution - Dice
9. Class Attributes and Methods
- 69 - Class methods
- 70 - Class attributes
- 71 - Class reader and writer methods
- 72 - Challenge - Radio
- 73 - Solution - Radio
10. Inheritance
- 74 - Class inheritance
- 75 - Override and extend
- 76 - Access the superclass
- 77 - Challenge - Dungeon dice
- 78 - Solution - Dungeon dice
11. Modules
- 79 - Namespacing
- 80 - Mixins
- 81 - Load, require, and include
- 82 - Challenge - To-do list
- 83 - Solution - To-do list
12. Exceptions
- 84 - Handle exceptions
- 85 - Handle specific exceptions
- 86 - Exception methods
- 87 - Raise exceptions
- 88 - Custom exceptions
13. The File System
- 89 - Input output basics
- 90 - File system basics
- 91 - Types of file paths
- 92 - File permissions
14. Work with Files
- 93 - Access files
- 94 - Write to files
- 95 - Read from files
- 96 - File pointer
- 97 - Read or write an entire file
- 98 - Rename, delete, copy
- 99 - Examine file details
- 100 - Challenge - List maker
- 101 - Solution - List maker
15. Work with Directories
- 102 - Create directories
- 103 - Change directories
- 104 - Entries
- 105 - Glob
- 106 - Challenge - Treasure hunt
- 107 - Solution - Treasure hunt
16. Common Data Formats
- 108 - CSV
- 109 - YAML
- 110 - JSON
- 111 - XML
17. ERB Templating
- 112 - Embed Ruby
- 113 - Binding
- 114 - Template files
- 115 - Challenge - Mail merge
- 116 - Solution - Mail merge
18. Capstone Project
- 117 - Restaurant finder
- 118 - Project organization
- 119 - User input
- 120 - File storage
- 121 - List action
- 122 - Output
- 123 - Sort the list
- 124 - Find action
- 125 - Add action
- 126 - Completing the project
Conclusion
- 127 - Next steps
Related courses
- Installing and Running Ruby on Rails 5: Windows
- Complete Guide to Apache Kafka for Beginners
- Complete Guide to AI and Data Science for SQL: From Beginner to Advanced
- Complete Guide to Power BI for Data Analysts by Microsoft Press (2024)
- Complete Guide to R: Wrangling, Visualizing, and Modeling Data
- Complete Guide to C Programming Foundations
- Complete Guide to Java Design Patterns: Creational, Behavioral, and Structural
- Complete Guide to AWS Software Deployment
Related learn paths
- Getting Started with DevOps
- Introduction to Fundamental Skills for Data Work: Data Collection
- Introduction to Fundamental Skills for Data Work: Data Storage
- Advance Your Skills in R
- Explore a Career as a Power BI Specialist
- Introduction to Fundamental Skills for Data Work: Data Analysis and Interpretation
- Unlock Your Career Potential: Use LinkedIn to Build Confidence and Career Skills
- Get Started with Microsoft Copilot