Ruby uses snake_case for methods and variables, CamelCase for classes and modules, and SCREAMING_SNAKE_CASE for constants, like user_name, UserAccount and MAX_USERS.
A capital first letter makes a name a constant. A prefix sets a variable's scope: @ for instance variables, @@ for class variables and $ for globals.
Method names add two suffixes by convention. A name ending in ? is a predicate that answers true or false, like empty?. A name ending in ! marks a more dangerous version of a method, like save!. It often changes the object it is called on or raises an error.
File names use snake_case and match the class inside, so UserAccount lives in user_account.rb.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
The diagram below the answer is the concept . Jump to it ↓