After a bunch of research and trying different gems I ended up rolling with the following:
validates :url,
presence: true,
length: { maximum: 245 },
format: { with: URI.regexp(%w(http https)), message: :bad_url_format }
This correctly validates the http:// and https:// prefixes but it allows any type of domain extension i.e. http://go.forever.
Is this considered normal?