Sha256: 59865106402a4980be1c5397560752d43eb9e3453b8fc4aa58c98aef969ea682

Contents?: true

Size: 1.15 KB

Versions: 79

Compression:

Stored size: 1.15 KB

Contents

module TinyMCE
  module Rails
    class AssetInstaller
      class Compile
        delegate :target, :manifest, :logger, :logical_path, :with_asset, :to => :@installer

        def initialize(installer)
          @installer = installer
        end

        def call
          symlink_assets
        end

      private
        def symlink_assets
          manifest.each(/^tinymce\//) do |asset|
            manifest.asset_path(asset) do |src, dest|
              symlink_asset(src, dest)
            end
          end
        end

        def symlink_asset(src, dest)
          with_asset(src, dest) do |src, dest|
            create_symlink(src, dest)
            create_symlink("#{src}.gz", "#{dest}.gz") if File.exists?("#{src}.gz")
          end
        end

        def create_symlink(src, dest)
          target = File.basename(src)

          unless File.exists?(dest) && File.symlink?(dest) && File.readlink(dest) == target
            logger.info "Creating symlink #{dest}"
            FileUtils.ln_s(target, dest, :force => true)
          else
            logger.debug "Skipping symlink #{dest}, already exists"
          end
        end
      end
    end
  end
end

Version data entries

79 entries across 79 versions & 3 rubygems

Version Path
tinymce-rails-6.0.3 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-6.0.2 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.10.4 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.10.3 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.10.2 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.10.1 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.10.0 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.9.2 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.9.1 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.9.0 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.8.2 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.8.1 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.8.0 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.7.1 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.6.2.1 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.6.2 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.6.1 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.6.0 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-5.5.1 lib/tinymce/rails/asset_installer/compile.rb
tinymce-rails-webmely-5.1.5 lib/tinymce/rails/asset_installer/compile.rb