Skip to content

Instantly share code, notes, and snippets.

@matugm
Last active October 13, 2017 15:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save matugm/2b0342df6ef5e0b68404890ef452d6d8 to your computer and use it in GitHub Desktop.
Save matugm/2b0342df6ef5e0b68404890ef452d6d8 to your computer and use it in GitHub Desktop.
Table Of Contents

Ruby Deep Dive - Table Of Contents

  • Using Pry to Learn Ruby
    • The Power of Pry
    • Where did this method come from?
    • Debugging using Pry
  • Understanding Exceptions
    • What are Exceptions and Why They Happen
    • Understanding Stack Traces
    • Using Exceptions
    • At Exit
    • Custom Exceptions
    • Common Errors Guide
  • Working with Data
    • Strings
      • Putting Strings Together
      • Manipulating Strings
      • Working with Characters
      • Immutability and Frozen Strings
    • Arrays
      • Let's review: What's an Array?
      • Basic Operations
      • Iterating Over Arrays
      • More Array Operations
      • The Splat Operator
      • Operations Involving Multiple Arrays
    • Hash tables
      • Using Hash Tables
      • Basic Usage
      • Iterating Over Hash Values
      • Default Values
      • Using Fetch and Merge
      • The Dig Method (new in Ruby 2.3)
    • Ranges
      • Inclusive & Exclusive ranges
      • Iterating over ranges
      • Stepping
      • Random number within a range
    • Data Serialization
      • CSV
      • JSON
      • YAML
  • The Ruby Object Model
    • Introduction to the object model
    • Super-classes
    • The singleton class
    • Ruby Internals
    • Constants in Ruby
    • Constant Lookup
    • Ruby Method Sugar
  • Procs & Lambdas
    • What's a block & how to use them
    • Lambdas vs Blocks
    • Closures
    • Using to_proc
  • Understanding Require
    • Why do we need require
    • How Ruby gems are required
    • Require vs Load
  • Regular Expressions
    • Character ranges
    • Capture groups
    • Ruby methods for working with regular expressions
  • Modules
    • 5 different ways to use modules
  • Enumerable
    • 3 Ruby methods everyone should know
    • How to include Enumerable in your own class
  • Using Sinatra
    • How to write a simple API
    • Interacting with a database
  • Performance
    • How to make your programs faster
  • Comparing Objects
    • The Comparable module & the spaceship operator
  • Metaprogramming
    • Creating dynamic methods
    • Creating dynamic constants
    • Using hooks
  • Writing a DSL
    • What is a DSL & how to implement one
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment