Ruby is an interpreted, dynamic, open-source programming language with a focus on simplicity and productivity. Ruby focuses on POLA (Principle of Least Astonishment), meaning it aims to minimize confusion for experienced users.
This competency area includes advanced operations with Ruby Objects and Methods, working with some complex regular expression operations, modifying Ruby classes and modules, working with Proc, Block, and Lambda, among others.
Key Competencies -
- Ruby Objects - Reopening classes and defining new methods and overriding existing methods. Object method lookup path, Namespaces with modules & nesting, handling method lookup failures, method_missing, and adding enumerability to objects and enumerable method chaining to achieve complex operations.
- Regular Expression Operations - MatchData object ($~), pre_match & post_match, understating quantifiers, anchors & modifiers, working with Scan, split, sub, gsub.
- Modifying Ruby classes and modules - Exploring pass through, aliasing and extent.
- Proc, Block & lambda - Understanding similarities and differences, Proc class, to_proc, closures, method objects, evel, and instance_eval.
- Parallelism - Understanding of Threads & Fibers.
- Singleton class - Ways of defining Class methods, BasicObject,
- Knowledge of miscellaneous operations - System command and backticks to execute external programs, included and extended: callbacks from include and extend events, instance_methods, public and private instance methods - analyzing Stack Traces, and testing Framework MiniTest.