class LinkShortener::Main
Public Class Methods
new(url)
click to toggle source
# File lib/link_shortener/main.rb, line 8 def initialize(url) @url = url.to_s end
Public Instance Methods
call()
click to toggle source
# File lib/link_shortener/main.rb, line 12 def call return nil if @url.blank? || !valid_url? check_env! LinkShortener::Rebrandly.new(@url).call end
Private Instance Methods
check_env!()
click to toggle source
# File lib/link_shortener/main.rb, line 28 def check_env! raise 'Rebrandly api key not defined in .env' if ENV['REBRANDLY_API_KEY'].blank? end
valid_url?()
click to toggle source
# File lib/link_shortener/main.rb, line 21 def valid_url? parsed = Addressable::URI.parse(@url) %w[http https].include?(parsed.scheme) && parsed.domain.present? rescue nil end