Про бібліотеку uri в Ruby

Бібліотека uri в Ruby надає засоби для роботи з уніфікованими ресурсними ідентифікаторами (URIs) і уніфікованими ресурсними локаторами (URLs). Вона дозволяє розбирати рядки URL на їх складові частини (схема, хост, порт, шлях тощо) та здійснювати побудову URL з цих складових частин.

Основні функції та можливості бібліотеки URI включають:

  1. Розбір URL на складові частини (схема, хост, порт, шлях, запит тощо).
  2. Побудова URL зі складових частин.
  3. Валідація URL.
  4. Кодування та декодування компонентів URL (наприклад, параметрів запиту) відповідно до стандартів.
  5. Порівняння та об’єднання URI.

Приклад:

require 'uri'

# Розбір URL
url = URI.parse("https://www.example.com/path?query=value")
puts url.scheme # => "https"
puts url.host   # => "www.example.com"
puts url.path   # => "/path"
puts url.query  # => "query=value"

# Побудова URL
new_url = URI::HTTP.build(host: "www.example.com", path: "/new_path", query: "new_query=new_value")
puts new_url.to_s # => "http://www.example.com/new_path?new_query=new_value"

# Валідація URL
puts URI.parse("http://www.example.com").valid? # => true
puts URI.parse("invalid_url").valid?            # => false

# Кодування та декодування компонентів URL
encoded_query = URI.encode_www_form_component("param=value&other_param=value")
puts encoded_query # => "param%3Dvalue%26other_param%3Dvalue"
decoded_query = URI.decode_www_form_component(encoded_query)
puts decoded_query # => "param=value&other_param=value"

Ці можливості дозволяють легко та ефективно працювати з URL в програмах Ruby, забезпечуючи правильність та безпеку обробки URL-адрес.