class Roger::Release::Finalizers::Dir

Finalizes the release into a directory in target_path

The directory name will have the format PREFIX-VERSION

Public Instance Methods

default_options() click to toggle source

@option options :prefix Prefix to put before the version (default = “html”)

# File lib/roger/release/finalizers/dir.rb, line 12
def default_options
  {
    prefix: "html",
    target_path: release.target_path
  }
end
perform() click to toggle source
# File lib/roger/release/finalizers/dir.rb, line 19
def perform
  name = [@options[:prefix], @release.scm.version].join("-")

  target_dir = Pathname.new(@options[:target_path])
  FileUtils.mkdir_p(target_dir) unless target_dir.exist?

  target_path = target_dir + name

  release.log(self, "Finalizing release to #{target_path}")

  if File.exist?(target_path)
    release.log(self, "Removing existing target #{target_path}")
    FileUtils.rm_rf(target_path)
  end

  FileUtils.cp_r release.build_path, target_path
end