Introduction
Learn Ruby
()
Using GitHub Codespaces
()
1. Get Started with Ruby
Introducing Ruby
()
Install Ruby
()
Using Ruby
()
Interactive Ruby Shell (IRB)
()
2. Ruby Object Types
Objects
()
Variables
()
Numbers: Integers
()
Numbers: Floats
()
Strings
()
Strings: Escaping and interpolation
()
Arrays
()
Array methods
()
Hashes
()
Symbols
()
Booleans
()
Ranges
()
Constants
()
Nil
()
Challenge: Roman numerals
()
Solution: Roman numerals
()
3. Control Structures
About control structures
()
Conditionals: if, else, elsif
()
Conditionals: unless
()
Conditionals: case
()
Conditionals: Shorthand operators
()
Loops
()
Iterators
()
Challenge: Blanket patterns
()
Solution: Blanket patterns
()
4. Ruby Scripting
Identifying Ruby code
()
Exit a running script
()
Input and output
()
Challenge: Guessing game
()
Solution: Guessing game
()
5. Dates and Times
Time
()
Date
()
Challenge: Birthdate analysis
()
Solution: Birthdate analysis
()
6. Enumerables and Code Blocks
Enumerables
()
Code blocks
()
Find methods
()
Map methods
()
Inject methods
()
Sort methods
()
Merge methods
()
Challenge: Ruby blanks
()
Solution: Ruby blanks
()
7. Custom Methods
Define and call methods
()
Variable scope
()
Arguments
()
Argument default values
()
Using a hash of options
()
Return value
()
Return multiple values
()
Output vs. return values
()
Challenge: Pig Latin
()
Solution: Pig Latin
()
8. Classes
Define a class
()
Instances
()
Attributes
()
Reader/writer methods
()
Attribute methods
()
Method access control
()
Initialize method
()
Challenge: Dice
()
Solution: Dice
()
9. Class Attributes and Methods
Class methods
()
Class attributes
()
Class reader and writer methods
()
Challenge: Radio
()
Solution: Radio
()
10. Inheritance
Class inheritance
()
Override and extend
()
Access the superclass
()
Challenge: Dungeon dice
()
Solution: Dungeon dice
()
11. Modules
Namespacing
()
Mixins
()
Load, require, and include
()
Challenge: To-do list
()
Solution: To-do list
()
12. Exceptions
Handle exceptions
()
Handle specific exceptions
()
Exception methods
()
Raise exceptions
()
Custom exceptions
()
13. The File System
Input/output basics
()
File system basics
()
Types of file paths
()
File permissions
()
14. Work with Files
Access files
()
Write to files
()
Read from files
()
File pointer
()
Read or write an entire file
()
Rename, delete, copy
()
Examine file details
()
Challenge: List maker
()
Solution: List maker
()
15. Work with Directories
Create directories
()
Change directories
()
Entries
()
Glob
()
Challenge: Treasure hunt
()
Solution: Treasure hunt
()
16. Common Data Formats
CSV
()
YAML
()
JSON
()
XML
()
17. ERB Templating
Embed Ruby
()
Binding
()
Template files
()
Challenge: Mail merge
()
Solution: Mail merge
()
18. Final Project
Restaurant finder
()
Project organization
()
User input
()
File storage
()
List action
()
Output
()
Sort the list
()
Find action
()
Add action
()
Completing the project
()