class Imgproxy::UrlAdapters::Shrine
Adapter for Shrine
Imgproxy.configure do |config| config.url_adapters.add Imgproxy::UrlAdapters::Shrine.new end Imgproxy.url_for(user.avatar)
Public Instance Methods
applicable?(image)
click to toggle source
# File lib/imgproxy/url_adapters/shrine.rb, line 11 def applicable?(image) image.is_a?(::Shrine::UploadedFile) end
url(image)
click to toggle source
# File lib/imgproxy/url_adapters/shrine.rb, line 15 def url(image) return s3_url(image) if use_s3_url(image) opts = {} opts[:host] = Imgproxy.config.shrine_host if Imgproxy.config.shrine_host image.url(opts) end
Private Instance Methods
s3_url(image)
click to toggle source
# File lib/imgproxy/url_adapters/shrine.rb, line 25 def s3_url(image) path = [*image.storage.prefix, image.id].join("/") "s3://#{image.storage.bucket.name}/#{path}" end
use_s3_url(image)
click to toggle source
# File lib/imgproxy/url_adapters/shrine.rb, line 30 def use_s3_url(image) Imgproxy.config.use_s3_urls && image.storage.is_a?(::Shrine::Storage::S3) end