Sha256: 97b017ecdd48482aa41884742aef16037c38d237eb41ea70287614f0ab20c5f6

Contents?: true

Size: 845 Bytes

Versions: 1

Compression:

Stored size: 845 Bytes

Contents

# encoding: utf-8

module Locomotive
  class ThemeAssetUploader < ::CarrierWave::Uploader::Base

    include Locomotive::CarrierWave::Uploader::Asset

    def store_dir
      self.build_store_dir('sites', model.site_id, 'theme', model.folder)
    end

    def extension_white_list
      %w(jpg jpeg gif png css js swf flv eot svg ttf woff woff2 otf ico htc)
    end

    def self.url_for(site, path)
      build(site, path).url
    end

    def self.build(site, path)
      asset     = site.theme_assets.build(folder: File.dirname(path))
      uploader  = ThemeAssetUploader.new(asset)
      uploader.retrieve_from_store!(File.basename(path))
      uploader
    end

    def self.content_types
      # pdf is not considered as a custom content type for theme assets.
      list = super.clone
      list.delete(:pdf)
      list
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
locomotive_cms-2.5.7 app/uploaders/locomotive/theme_asset_uploader.rb