Class: Embiggen::NonRedirectShortenerList

Inherits:
Object
  • Object
show all
Defined in:
lib/embiggen/non_redirect_shortener_list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(domains) ⇒ NonRedirectShortenerList

Returns a new instance of NonRedirectShortenerList.



5
6
7
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 5

def initialize(domains)
  @domains = domains.to_h.transform_keys { |domain| host_pattern(domain) }
end

Instance Attribute Details

#domainsObject (readonly)

Returns the value of attribute domains.



3
4
5
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 3

def domains
  @domains
end

Instance Method Details

#[]=(domain, selector) ⇒ Object



18
19
20
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 18

def []=(domain, selector)
  domains[host_pattern(domain)] = selector
end

#clearObject



26
27
28
29
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 26

def clear
  domains.clear
  self
end

#delete(domain) ⇒ Object



22
23
24
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 22

def delete(domain)
  domains.delete(host_pattern(domain))
end

#selector_for(uri) ⇒ Object



13
14
15
16
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 13

def selector_for(uri)
  _, selector = domains.find { |pattern, _| uri.host =~ pattern }
  selector
end

#sizeObject



31
32
33
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 31

def size
  domains.size
end

#supported?(uri) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 9

def supported?(uri)
  !selector_for(uri).nil?
end