Я не уверен, спрашиваете ли вы о квадратных скобках или вас интересует, как Синатра использует значение session
.
Если вы спрашиваете о квадратных скобках: они не более чемметод, который вы можете определить в своих собственных классах. Подробнее здесь: https://rickcarlino.com/2015/03/26/square_brackets-html.html
Небольшой пример, извлеченный из приведенного выше URL:
class FakeCollection
attr_reader :items
def initialize
@items = {}
end
def [](index)
@items[index] || "Not Found"
end
def []=(index, value)
@items[index] = value
end
end
example = FakeCollection.new
example[:x] = "Hello, world"
example[:x]
# => "Hello, world"