Class: Imgproxy::UrlAdapters
- Inherits:
-
Object
- Object
- Imgproxy::UrlAdapters
- Defined in:
- lib/imgproxy/url_adapters.rb,
lib/imgproxy/url_adapters/shrine.rb,
lib/imgproxy/url_adapters/active_storage.rb
Overview
Defined Under Namespace
Classes: ActiveStorage, NotConfigured, NotFound, Shrine
Instance Attribute Summary collapse
-
#adapters ⇒ Array
readonly
Currently added adapters.
Instance Method Summary collapse
-
#add(adapter) ⇒ Array
Add adapter to the end of the list.
-
#clear! ⇒ Array
Remove all adapters from the list.
-
#initialize ⇒ UrlAdapters
constructor
A new instance of UrlAdapters.
-
#prepend ⇒ Array
Add adapter to the beginning of the list.
-
#url_of(image) ⇒ String
Get URL for the provided image.
Constructor Details
#initialize ⇒ UrlAdapters
Returns a new instance of UrlAdapters.
22 23 24 |
# File 'lib/imgproxy/url_adapters.rb', line 22 def initialize @adapters = [] end |
Instance Attribute Details
#adapters ⇒ Array (readonly)
Returns Currently added adapters.
20 21 22 |
# File 'lib/imgproxy/url_adapters.rb', line 20 def adapters @adapters end |
Instance Method Details
#add(adapter) ⇒ Array
Add adapter to the end of the list
28 29 30 |
# File 'lib/imgproxy/url_adapters.rb', line 28 def add(adapter) adapters << adapter end |
#clear! ⇒ Array
Remove all adapters from the list
40 41 42 |
# File 'lib/imgproxy/url_adapters.rb', line 40 def clear! @adapters = [] end |
#prepend ⇒ Array
Add adapter to the beginning of the list
34 35 36 |
# File 'lib/imgproxy/url_adapters.rb', line 34 def prepend adapters.unshift(adapter) end |
#url_of(image) ⇒ String
Get URL for the provided image
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/imgproxy/url_adapters.rb', line 46 def url_of(image) return image if image.is_a? String return image.to_s if image.is_a? URI adapter = adapters.find { |a| a.applicable?(image) } return adapter.url(image) if adapter raise NotFound, "Can't found URL adapter for #{image.inspect}" end |