class SocialParser::Link
Public Class Methods
new(attrs)
click to toggle source
# File lib/social_parser/link.rb, line 8 def initialize(attrs) attrs.each do |key, value| instance_variable_set("@#{key}", value) unless value.nil? end end
Public Instance Methods
attributes()
click to toggle source
# File lib/social_parser/link.rb, line 34 def attributes { url: url, provider: provider, username: username } end
embed_url()
click to toggle source
# File lib/social_parser/link.rb, line 26 def embed_url nil end
id()
click to toggle source
# File lib/social_parser/link.rb, line 22 def id nil end
provider()
click to toggle source
# File lib/social_parser/link.rb, line 18 def provider nil end
url()
click to toggle source
# File lib/social_parser/link.rb, line 30 def url url_from_attributes end
username()
click to toggle source
# File lib/social_parser/link.rb, line 14 def username nil end
Private Instance Methods
invalid_url_format?(url)
click to toggle source
# File lib/social_parser/link.rb, line 56 def invalid_url_format?(url) !valid_url_format(url) end
url_from_attributes()
click to toggle source
# File lib/social_parser/link.rb, line 44 def url_from_attributes valid_url_format(@url) or valid_url_format(@url_or_username) end
valid_url_format(url)
click to toggle source
# File lib/social_parser/link.rb, line 48 def valid_url_format(url) uri = URI.parse(url) return uri.to_s if %w(http https).include?(uri.scheme) return "http://#{url}" if PublicSuffix.valid?(URI.parse("http://#{url}").host) rescue URI::BadURIError, URI::InvalidURIError nil end