The Well Grounded Rubyist - book notes

Original content on Manning publications website. Register for access.

Ch 01: Bootstrap

Book notes     Jupyter/GitHub
Basic literacy
Ruby anatomy
Extensions & libraries
Std tools

Ch02: Objects, Methods, Local Variables

Book notes     Jupyter/GitHub
Talking to objects
Creating an object
Innate behaviors
Method arguments
Local variables

Ch 03: Classes

Book notes     Jupyter/GitHub
Instances
Instance variables
Setter methods
Attributes
Inheritance
Classes as objects
Constants
"Nature vs Nurture"

Ch 04: Modules

Book notes     Jupyter/GitHub
Creating & usage
Method lookups
method_missing
Design & naming conventions

Ch 05: Self

Book notes     Jupyter/GitHub
Intro
Global & local scopes
Private & protected methods
Top-level methods

Ch 06: Control Flow

Book notes     Jupyter/GitHub
Conditional execution (if)
Repeating execution (loop)
Iterating execution
Errors & exceptions

Ch 07: Built-In Essentials

Book notes     Jupyter/GitHub
Literals
Recurrent syntactic sugar
Bang methods & "danger"
Conversion methods
Boolean ops
Comparisons
Inspecting objects

Ch 08: Strings, Symbols, Scalars

Book notes     Jupyter/GitHub
Strings
Symbols
Numbers
Times & Dates

Ch 09: Collections & Containers

Book notes     Jupyter/GitHub
Arrays vs Hashes
Collections with Arrays
Hashes
Ranges
Sets

Ch 10: Enumerables

Book notes     Jupyter/GitHub
each
Boolean queries
Searches & selections
Element-wise ops
Related ops
map
Strings as quasi-enumerables
Sorting
Advanced
Method chains
Lazy enumerators

Ch 11: Regular Expressions

Book notes     Jupyter/GitHub
Intro
Writing
Building patterns
Matching, substrings & MatchData
Quantifiers, anchors & modifiers
String <=> Regex conversions
Common ops that use regexes

Ch 12: File I/O

Book notes     Jupyter/GitHub
IO class basics
Basic file ops
File & IO object queries
Dir
File tools

Ch 13: Object Individualization

Book notes     Jupyter/GitHub
Singletons
Modifying Ruby core classes & modules
BasicObject

Ch 14: Callables & Runnables

Book notes     Jupyter/GitHub
Proc
lambda & ->
eval
Threads
System commands from inside Ruby

Ch 15: Callbacks, Hooks & Introspection

Book notes     Jupyter/GitHub
Callbacks & hooks
Object capability queries
Variables & constants
Tracing program execution
Callbacks & method inspection: MiniTest

Ch 16: Functional Programming

Book notes     Jupyter/GitHub
"Pure" functions
Immutability
Higher-order functions
Recursion