Sha256: fd93ea8d9afd5b5932a9e05a6fab47135ccdc756c25a196ccc0c1758675fcfd2

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

module BaiduUeditorRails
  module Utils
    def self.select_assets(path, relative_path)
      relative_folder = BaiduUeditorRails.root_path.join(relative_path)
      folder = relative_folder.join(path)
      extensions = '*.{js,css,png,gif,jpg,html}'
      languages = []

      # Files at root
      files = Dir[folder.join(extensions)]

      # Filter plugins
      if BaiduUeditorRails.assets_plugins.nil?
        files += Dir[folder.join('third-party', '**', extensions)]
      else
        BaiduUeditorRails.assets_plugins.each do |plugin|
          files += Dir[folder.join('third-party', plugin, '**', extensions)]
        end
      end

      # Other folders
      Dir[folder.join('*/')].each do |subfolder|
        path = Pathname.new(subfolder)
        next if ['third-party'].include?(path.basename.to_s)
        files += Dir[path.join('**', extensions)]
      end

      files.inject([]) do |items, name|
        file = Pathname.new(name)
        base = file.basename('.*').to_s

        if !name.include?('/i18n/') || languages.include?(base) || languages.empty?
          items << file.relative_path_from(relative_folder).to_s
        end

        items
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
baidu_ueditor_rails5-0.3.1 lib/baidu_ueditor_rails/utils.rb
baidu_ueditor_rails5-0.3.0 lib/baidu_ueditor_rails/utils.rb
baidu_ueditor_rails5-0.2.0 lib/baidu_ueditor_rails/utils.rb