Sha256: 732f4bd25502c235f2b8c3e5264478e49a4d203f46a5b702637f504193be4549

Contents?: true

Size: 897 Bytes

Versions: 5

Compression:

Stored size: 897 Bytes

Contents

module Locomotive
  module Dragonfly

    def self.resize_url(source, resize_string)
      file = nil

      if source.is_a?(String) || source.is_a?(Hash) # simple string or theme asset
        source = source['url'] if source.is_a?(Hash)

        if source =~ /^http/
          file = self.app.fetch_url(source)
        else
          file = self.app.fetch_file(File.join('public', source))
        end

      elsif source.respond_to?(:url) # carrierwave uploader
        if source.file.respond_to?(:url)
          file = self.app.fetch_url(source.url) # amazon s3, cloud files, ...etc
        else
          file = self.app.fetch_file(source.path)
        end

      else
        Locomotive.log :error, "Unable to resize on the fly: #{source.inspect}"
        return
      end

      file.process(:thumb, resize_string).url
    end

    def self.app
      ::Dragonfly[:images]
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
locomotive_cms-2.0.0.rc6 lib/locomotive/dragonfly.rb
locomotive_cms-2.0.0.rc5 lib/locomotive/dragonfly.rb
locomotive_cms-2.0.0.rc4 lib/locomotive/dragonfly.rb
locomotive_cms-2.0.0.rc2 lib/locomotive/dragonfly.rb
locomotive_cms-2.0.0.rc1 lib/locomotive/dragonfly.rb