Изменения в новых версиях / Ruby 3.0

# requires Ruby 3.0 or newer

def configure(a:)
  a
end

# *** before: ***
h_old = { a: 1 }
old_result = configure(h_old) # a lone trailing Hash was silently used as
#keywords

# *** in version 3.0: ***
h = { a: 1 }
# configure(h)                  # ArgumentError: missing keyword: :a
new_result = configure(**h)     # an explicit ** is required now

puts new_result