Я бы сделал это следующим образом:
require 'uri'
uri = URI.parse('http://something.example.com/directory/')
uri.host.split('.').first
=> "something"
URI встроен в Ruby. Это не самый полнофункциональный, но он достаточно способен выполнять эту задачу для большинства URL-адресов. Если у вас есть IRIs , посмотрите Addressable :: URI .