Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering Ruby Programming: Basics to Advanced Projects
Rating: 3.5 out of 5(1 rating)
1,020 students

Mastering Ruby Programming: Basics to Advanced Projects

Unleash the full potential of Ruby, from foundational programming concepts to advanced projects.
Last updated 12/2024
English

What you'll learn

  • The fundamentals of Ruby programming: syntax, variables, methods, classes, and modules.
  • Advanced Ruby features like metaprogramming, threading, and dynamic method creation.
  • Practical applications of Ruby through basic and advanced projects.
  • Real-world problem-solving techniques using Ruby programming.
  • How to manage files, directories, and data transformations efficiently.

Course content

3 sections203 lectures29h 5m total length
  • Introduction to Ruby Programming6:54

    Bootstraps you into Ruby literacy by exploring basic syntax and program execution. Learn to run Ruby, manage multi-file projects, and use core concepts, operators, and conditional statements.

  • Ruby Literacy7:54

    Explore Ruby basics: local, instance, class, and global variables, constants, keywords, and object methods. Create a Celsius to Fahrenheit converter and save and run .rb programs from the command prompt.

  • Ruby Literacy Continues6:52
  • Temperature Converter9:23
  • Ruby Standard Library Sub Directory7:00
  • Loading External Files with Extension7:20

    Explore how Ruby loads external files and extensions using require, load, and require_relative, compare when files are loaded multiple times, and manage load paths.

  • Ruby Tools and Application7:48
  • Required Name File and Extension8:07

    Explore using dash r to require files at startup, plus verbose, version, and help options; practice with ERB and IRB interactive sessions and gem installation basics.

  • Objects and Methods8:32
  • Objects and Methods Continues8:19
  • Local Variables7:26
  • Displaying Object IDs7:36
  • Respond to Method7:12
  • Method Arguments7:43
  • Order of Parameters and Arguments7:01
  • Local Variables and Assignment8:21
  • Overriding Methods6:45
  • Instance Variables and Object State6:54
  • Initializing an Object with State7:20
  • Setter Methods9:44

    Master Ruby setter methods and the price equal syntax to modify attributes like ticket price, using set_price and price_equal, with syntactic sugar and data validation insights.

  • Attributes7:43
  • Attributes and Method7:19
  • Classes as Objects7:02
  • Classes as Message Receiver7:47

    Master class methods on the class object with a temperature converter implementing c2f and f2c, and define and access constants for a ticket venues list.

  • Introduction Modules and Control Flow6:51
  • Modules and Program Organization8:33
  • Using Module Further7:27
  • Report Method in Module8:04
  • Method Missing6:26

    Explore mixing in modules with the same method name using include and prepend, observe method lookup order, and learn how super enables jumping to the next definition in Ruby 2.0.

  • Super Keyword9:36
  • Classes-Modules9:28

    Define a person class that tracks name, friends, and hobbies, enables queries like all_with_friends and all_with_hobbies, and uses method_missing to route dynamic searches.

  • Nesting Classes and Modules6:17

    Explore nesting of classes and modules in Ruby, compare mixins and inheritance, and examine method lookup, dynamic method handling, and design decisions for flexible architectures.

  • Self object and Current10:38
  • Default Object5:24
  • Self as Default Receiver5:20
  • Instance Variables Through Self9:44
  • Global Scope10:02

    Explore how Ruby global scope and local scope shape visibility of global, local, and class variables, plus how self and constants relate across methods and classes.

  • Local Scope6:25
  • Class Variable Syntax10:16

    Explore class variable syntax in Ruby and how class variables share state between a class and its instances, plus constant lookup and scope rules.

  • Class Variable Scope and Visibility8:19
  • Class Variables9:40
  • Class Hierarchy5:39

    Explore the Ruby class hierarchy through a baking scenario, defining cake, batter, flour, and egg, and enforce private methods in Baker to control explicit receivers and self calls.

  • Private-Protected Methods7:45
  • Top Level Methods5:15
  • If Condition11:11
  • Else if Condition9:26
  • Case Statement10:49
  • Comparing with IF4:50

    Explore Ruby's case statements, using triple equal comparisons and when clauses to match tickets by venue, and understand the return value and nil outcomes.

  • Iterator9:50
  • Code Blocks11:46
  • Times and Mytimes12:00

    Explore Ruby times and my_times, showing how a method yields to a block while returning once, and how each and map drive array iteration with blocks.

  • Map Mymap9:27

    Explore creating custom iterators in Ruby by reimplementing map with each, and master block parameters, variable scope, and block local parameters to write robust, scoped code.

  • Error Handling10:13
  • Exceptions9:46
  • Introduction to Built in Essentials7:06
  • BANG Methods8:05
  • Built in Conversion Methods8:07
  • Built in Conversion Methods Continues8:12
  • Boolean States6:35

    Explore boolean states in Ruby, examining true, false, and nil as objects and truth values. See how expressions evaluate for conditionals like if.

  • Boolean Objects8:48
  • Comparing Objects11:10
  • Inspecting Objects5:06
  • String Notation8:26
  • HERE Documents8:29

    Learn how Ruby here documents create multi-line strings with customizable delimiters, interpolation, and escaping rules, including flush-left and hyphen variants, with practical examples.

  • Basic String Manipulation6:40
  • Quering String9:57
  • Formatting Transformation7:01
  • Content Transformation7:26
  • Symbols and Uses of Symbols12:01
  • Symbols in Practice7:32
  • Numerical Objects7:27
  • Times7:50
  • Dates8:24
  • Arrays7:52
  • Arrays Constructors8:53

    Explore Ruby's array constructors by using array.new, the literal square-bracket form, the array method, and percent notation. Learn how to specify size, initialize elements, and nest arrays.

  • Inserting5:16

    Master array manipulation in ruby by learning shift and pop, including element removal and return values. Explore combining arrays with concat, plus, and replace, and distinguish replace from reassignment.

  • Retrieving and Removing Array Elements6:58
  • Array Transformation8:03
  • Creating a New Hash8:52

    Mastering Ruby hashes: store key-value pairs, perform quick lookups, and create hashes using literal, hash.new, hash[], and the top-level hash method, with practical examples.

  • Inserting,Retriving Hash Pairs6:33
  • Default Hash Values6:42

    Demonstrates default hash values and non-existent keys, using Hash.new with a block to auto-create keys, and contrasts destructive update with non-destructive merge for combining hashes.

  • Hash Transformation8:01
  • Hash Quering8:42
  • Ranges5:51
  • Sets8:41
  • Enumerable Boolean Queries9:41
  • Enumerable Searching7:57
  • Find All Method9:51
  • The First Method5:44
  • Reverse Each, Each with Index7:41

    Explore how ranges define start and end points, distinguish inclusive and exclusive syntax, and use creation and inclusion tests such as begin, end, or include and cover.

  • Each Slice, Each Cons8:33
  • The Map Method8:31
  • Sorting Enumerable7:10
  • Enumerators6:27
  • Next Dimension of Enumerability7:58
  • Enumerator Semantics7:45

    Discover how enumerator semantics hook the each method to a target object's methods, yielding map, select, or inject results while preserving the original collection.

  • Enumerator Uses8:20
  • Enumerator Method Chaining9:57
  • Writing Regular Expression5:14
  • Building a Pattern9:49
  • Matching and Substring Captures11:30
  • Other Match Data Information5:52

    Discover Ruby regex techniques through match data, including pre_match, post_match, and begin/end, and master quantifiers, anchors, and modifiers with examples like phone number matching and mr or mrs.

  • Constraining Matches10:21
  • Regular Expression Anchors7:28
  • Accretions and Modifiers7:30

    Explore zero-width lookahead and lookbehind assertions to match patterns without consuming characters, and learn conditional matches in Ruby regex. Master modifiers i, m, and x to control case, multi-line behavior.

  • Converting Strings9:03
  • Common Methods that use Regular Expression9:12
  • The IO Class10:30
  • STDOUT and STDERR5:16
  • Basics of Reading from Files and Seeking4:41
  • Querying file Position8:21
  • Writing to Files8:17
  • File Enumerability8:27

    Explore file enumerability in Ruby by using File.open with blocks, iterating with each, and leveraging inject to compute averages without loading entire files.

  • Querying IO and File Objects8:28
  • Directory Manipulation8:38
  • File Handling4:59
  • String IO Class10:07
  • The Singleton Class9:16
  • Defining Class Methods with Class6:30
  • Modifying Ruby Core Classes7:25
  • Modifying Ruby Core Module7:59
  • Pass-Through overrides10:53

    Examine pass-through overrides in Ruby, where a new method calls the original and adds behavior. Use extend for object or class-level augmentation, while considering collision risks and Active Support examples.

  • Per-Object Changes with Extend4:00
  • Using Refinements and Basic Object9:08
  • The Proc Class8:14
  • Block-Proc Conversions7:57
  • Using Symbols11:11
  • Creating Functions with Lambda7:10
  • Methods as Objects8:09
  • The Eval Family of Methods7:41
  • Parallel Execution with Threads8:40
  • A Threaded Date Server8:40
  • Chat Server9:53
  • Threads and Variables7:26
  • Issuing System Commands10:02
  • Open and Popen35:23

    Explore Open3 in Ruby to communicate with external programs via two-way pipes, using standard input, output, and error, with threads coordinating a cat process.

  • Callbacks10:10
  • Missing Method10:27
  • Intercepting Extend and Method Added10:34
  • Singleton Method Added Methods9:14

Requirements

  • Basic computer literacy and familiarity with using a text editor.
  • An interest in learning programming; no prior experience in Ruby is required.
  • Access to a computer with Ruby installed (installation will be covered in the course).

Description

Introduction

Ruby is a dynamic, open-source programming language that emphasizes simplicity and productivity. This comprehensive course takes you on a journey through the fundamentals of Ruby programming to advanced topics, including hands-on projects to reinforce your understanding. Whether you’re a beginner exploring programming or a developer seeking to expand your skill set, this course will equip you with the tools to excel in Ruby programming.

Section-Wise Writeup

Section 1: Ruby Programming Essentials

This section lays the foundation for understanding Ruby. Starting with the language's syntax and core concepts, you will learn about variables, methods, classes, modules, and control structures. The lectures also cover essential topics such as error handling, string manipulation, and file I/O operations. By the end of this section, you’ll have a solid grasp of Ruby’s capabilities and be ready to write functional programs.

Section 2: Ruby Basic Project

Dive into practical application with a hands-on project designed to consolidate your foundational knowledge. This section guides you step-by-step in building a basic Ruby project. Each lecture introduces new features and techniques, allowing you to see how Ruby concepts come together in a real-world scenario.

Section 3: Ruby Advanced Project

Take your skills to the next level with advanced Ruby projects that tackle complex programming challenges. This section explores advanced Ruby concepts, including multithreading, metaprogramming, and dynamic method creation. By completing these projects, you will master Ruby's flexibility and power, preparing you for professional development roles or personal endeavors.

Conclusion

By the end of this course, you will have mastered Ruby programming from its basics to advanced applications. You will have built multiple projects, gained practical experience, and developed problem-solving skills that will help you in various real-world scenarios. Whether you're pursuing software development, data processing, or scripting, this course will make you confident in using Ruby effectively.

Who this course is for:

  • Beginners who want to learn Ruby as their first programming language.
  • Developers seeking to add Ruby to their skill set.
  • Professionals working with web development, scripting, or automation.
  • Enthusiasts aiming to learn a versatile programming language for personal projects.