A ruby block is a collection of one or more lines of code enclosed by the do and end keywords (or and for inline blocks). It enables you to compile code into a single unit that can be passed as a method argument.
Scopes are custom queries that you define using the scope function in your Rails models. Every scope necessitates the use of two arguments: A name that you'll use in your code to refer to this scope.
Variables that can be accessible from everywhere in the application, regardless of scope, are known as global variables. They're identified by a $ (dollar symbol) character at the start. Global variables, on the other hand, are frequently seen as "un-Ruby," and you will rarely see them.
A global variable in computer programming is a variable with global scope, which means it is visible (and thus accessible) throughout the program unless shadowed. The global environment, also known as the global state, is the collection of all global variables.