class Docman::CreateSymlinkCmd

Public Instance Methods

execute() click to toggle source
# File lib/docman/commands/create_symlink_cmd.rb, line 15
def execute
  source_path = File.join(@context['docroot_config'].docroot_dir, self['target_dir'])
  Dir.chdir source_path
  source_pathname = Pathname.new source_path
  target_pathname = Pathname.new @context['full_build_path']
  relative_path = target_pathname.relative_path_from source_pathname
  `ln -f -s #{relative_path} .`
  log "Created symlink in #{source_path} dir: '#{@context['name']}' to '#{relative_path}'"
end
validate_command() click to toggle source
# File lib/docman/commands/create_symlink_cmd.rb, line 8
def validate_command
  raise "Please provide 'target_dir' param" if self['target_dir'].nil?
  raise "Please provide 'context'" if @context.nil?
  raise "Context should be of type 'Info'" unless @context.is_a? Docman::Info
  raise "Directory #{File.join(@context['docroot_config'].docroot_dir, self['target_dir'])} not exists" unless File.directory? File.join(@context['docroot_config'].docroot_dir, self['target_dir'])
end