class Embiggen::ShortenerList
Attributes
domains[R]
Public Class Methods
new(domains)
click to toggle source
# File lib/embiggen/shortener_list.rb, line 11 def initialize(domains) @domains = Set.new(domains.map { |domain| host_pattern(domain) }) end
Public Instance Methods
+(other)
click to toggle source
# File lib/embiggen/shortener_list.rb, line 19 def +(other) self.class.new(domains + other) end
<<(domain)
click to toggle source
# File lib/embiggen/shortener_list.rb, line 23 def <<(domain) domains << host_pattern(domain) self end
delete(domain)
click to toggle source
# File lib/embiggen/shortener_list.rb, line 29 def delete(domain) domains.delete(host_pattern(domain)) end
host_pattern(domain)
click to toggle source
# File lib/embiggen/shortener_list.rb, line 35 def host_pattern(domain) /\b#{domain}\z/i end
include?(uri)
click to toggle source
# File lib/embiggen/shortener_list.rb, line 15 def include?(uri) domains.any? { |domain| uri.host =~ domain } end