This document discusses functional objects in Ruby. It begins by defining a functional object as an object with a callable interface, specifically a #call method. It then explores how functional programming concepts like purity, immutability, higher-order functions, closures, and functional composition can be applied to objects in Ruby. Achieving pure functions without side effects within objects allows them to behave more like functions. This enables better reusability, composition, and adherence to SOLID principles. Functional objects provide a bridge between object-oriented and functional paradigms in Ruby.