# File lib/tinymce/rails/asset_installer.rb, line 6 def initialize(assets, target, manifest_path) @assets = assets @target = target @manifest_path = manifest_path || target end
# File lib/tinymce/rails/asset_installer.rb, line 12 def install cleanup_assets copy_assets append_to_manifest manifest.write end
# File lib/tinymce/rails/asset_installer.rb, line 39 def append_to_manifest asset_files.each do |file| manifest.append(logical_path(file), file) end end
# File lib/tinymce/rails/asset_installer.rb, line 45 def asset_files Pathname.glob("#{@assets}/**/*").select(&:file?) end
# File lib/tinymce/rails/asset_installer.rb, line 25 def cleanup_assets manifest.each(/^tinymce\//) do |asset| manifest.remove(asset) if index_asset?(asset) manifest.remove_digest(asset) do |src, dest| move_asset(src, dest) end end end
# File lib/tinymce/rails/asset_installer.rb, line 35 def copy_assets FileUtils.cp_r(@assets, @target, :preserve => true) end
# File lib/tinymce/rails/asset_installer.rb, line 60 def index_asset?(asset) asset =~ /\/index\.js$/ end
# File lib/tinymce/rails/asset_installer.rb, line 49 def logical_path(file) file.relative_path_from(@assets.parent).to_s end
# File lib/tinymce/rails/asset_installer.rb, line 21 def manifest @manifest ||= AssetManifest.load(@manifest_path) end
# File lib/tinymce/rails/asset_installer.rb, line 53 def move_asset(src, dest) src = File.join(@target, src) dest = File.join(@target, dest) FileUtils.mv(src, dest, :force => true) if src != dest && File.exists?(src) end