Class: Embiggen::NonRedirectShortenerList
- Inherits:
-
Object
- Object
- Embiggen::NonRedirectShortenerList
- Defined in:
- lib/embiggen/non_redirect_shortener_list.rb
Instance Attribute Summary collapse
-
#domains ⇒ Object
readonly
Returns the value of attribute domains.
Instance Method Summary collapse
- #[]=(domain, selector) ⇒ Object
- #clear ⇒ Object
- #delete(domain) ⇒ Object
-
#initialize(domains) ⇒ NonRedirectShortenerList
constructor
A new instance of NonRedirectShortenerList.
- #selector_for(uri) ⇒ Object
- #size ⇒ Object
- #supported?(uri) ⇒ Boolean
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
#domains ⇒ Object (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 |
#clear ⇒ Object
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 |
#size ⇒ Object
31 32 33 |
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 31 def size domains.size end |
#supported?(uri) ⇒ Boolean
9 10 11 |
# File 'lib/embiggen/non_redirect_shortener_list.rb', line 9 def supported?(uri) !selector_for(uri).nil? end |