class Stevenson::Template::Local

Attributes

options[R]
template_path[R]

Public Class Methods

new(template_path, options) click to toggle source
# File lib/stevenson/templates/local.rb, line 6
def initialize(template_path, options)
  @template_path, @options = template_path, options
end

Public Instance Methods

local_directory() click to toggle source
# File lib/stevenson/templates/local.rb, line 10
def local_directory
  raise InvalidTemplateException.new("The given path is not a directory '#{template_path}'") unless template_path && File.directory?(template_path)

  @_local_directory ||= Dir.mktmpdir.tap do |dir|
    directories = [template_path, options[:subdirectory], '.'].compact

    FileUtils.cp_r File.join(*directories), dir
  end
end