Class: RevealCK::Builders::CopyFilesTask

Inherits:
CreationTask show all
Defined in:
lib/reveal-ck/builders/copy_files_task.rb

Overview

Copy a listing of files from one location to another

Instance Attribute Summary collapse

Attributes inherited from CreationTask

#application, #things_to_create

Instance Method Summary collapse

Methods inherited from CreationTask

#name, #prepare

Methods included from RakeAware

#copy_file, #create_directory, #task

Methods included from Retrieve

included, #retrieve

Constructor Details

#initialize(args) ⇒ CopyFilesTask

Returns a new instance of CopyFilesTask.



7
8
9
10
11
# File 'lib/reveal-ck/builders/copy_files_task.rb', line 7

def initialize(args)
  @file_listing = retrieve(:file_listing, args)
  @output_dir = retrieve(:output_dir, args)
  super
end

Instance Attribute Details

#file_listingObject (readonly)

Returns the value of attribute file_listing.



5
6
7
# File 'lib/reveal-ck/builders/copy_files_task.rb', line 5

def file_listing
  @file_listing
end

#output_dirObject (readonly)

Returns the value of attribute output_dir.



5
6
7
# File 'lib/reveal-ck/builders/copy_files_task.rb', line 5

def output_dir
  @output_dir
end

Instance Method Details

#analyze_file(file) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/reveal-ck/builders/copy_files_task.rb', line 19

def analyze_file(file)
  src_dir = Regexp.escape(file_listing.dir)
  dest = file.pathmap("%{^#{src_dir}/,#{output_dir}/}p")
  copy_file(file, dest)
  dest_dir = dest.pathmap('%d')
  create_directory(dest_dir)
  things_to_create.add(dest_dir)
  things_to_create.add(dest)
end

#setupObject



13
14
15
16
17
# File 'lib/reveal-ck/builders/copy_files_task.rb', line 13

def setup
  file_listing.files.each do |file|
    analyze_file(file) unless File.directory?(file)
  end
end