module CarrierWave::Cloudflare

Constants

VERSION

Public Class Methods

cloudflare_transform(value = nil) click to toggle source
# File lib/carrierwave/cloudflare.rb, line 34
def self.cloudflare_transform(value = nil)
  return @cloudflare_transform if value.nil?

  @cloudflare_transform = value
end
configure() { |self| ... } click to toggle source
# File lib/carrierwave/cloudflare.rb, line 30
def self.configure
  yield self
end

Public Instance Methods

cache!(*args) click to toggle source
Calls superclass method
# File lib/carrierwave/cloudflare.rb, line 46
def cache!(*args)
  return if virtual_version?

  super(*args)
end
resize(**options) click to toggle source
# File lib/carrierwave/cloudflare.rb, line 72
def resize(**options)
  # build temporary uploader
  uploader = self.class.dup
  self.class.const_set("Uploader#{uploader.object_id}".tr("-", "_"), uploader)
  uploader.version_options = { cdn_transform: options }

  # init the instance uploader and set parent_version
  obj = uploader.new(self)
  obj.parent_version = self
  obj
end
retrieve_from_cache!(*args) click to toggle source
Calls superclass method
# File lib/carrierwave/cloudflare.rb, line 52
def retrieve_from_cache!(*args)
  return if virtual_version?

  super(*args)
end
retrieve_from_store!(*args) click to toggle source
Calls superclass method
# File lib/carrierwave/cloudflare.rb, line 58
def retrieve_from_store!(*args)
  return if virtual_version?

  super(*args)
end
store!(*args) click to toggle source
Calls superclass method
# File lib/carrierwave/cloudflare.rb, line 40
def store!(*args)
  return if virtual_version?

  super(*args)
end
url(*args) click to toggle source
Calls superclass method
# File lib/carrierwave/cloudflare.rb, line 64
def url(*args)
  if virtual_version?
    cdn_url
  else
    super(*args)
  end
end

Private Instance Methods

base_image_url() click to toggle source
# File lib/carrierwave/cloudflare.rb, line 99
def base_image_url
  parent_version.url
end
cdn_url() click to toggle source
# File lib/carrierwave/cloudflare.rb, line 90
def cdn_url
  if base_image_url
    CarrierWave::Cloudflare::URL.transform(
      base_image_url,
      **self.class.version_options[:cdn_transform]
    )
  end
end
virtual_version?() click to toggle source
# File lib/carrierwave/cloudflare.rb, line 86
def virtual_version?
  self.class.version_options && self.class.version_options[:cdn_transform].present? && parent_version
end