Class: InstanceAgent::CodeDeployPlugin::CopyCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/instance_agent/codedeploy_plugin/install_instruction.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source, destination) ⇒ CopyCommand

Returns a new instance of CopyCommand.



209
210
211
212
# File 'lib/instance_agent/codedeploy_plugin/install_instruction.rb', line 209

def initialize(source, destination)
  @source = source
  @destination = destination
end

Instance Attribute Details

#destinationObject (readonly)

Returns the value of attribute destination.



208
209
210
# File 'lib/instance_agent/codedeploy_plugin/install_instruction.rb', line 208

def destination
  @destination
end

#sourceObject (readonly)

Returns the value of attribute source.



208
209
210
# File 'lib/instance_agent/codedeploy_plugin/install_instruction.rb', line 208

def source
  @source
end

Instance Method Details

#execute(cleanup_file) ⇒ Object



214
215
216
217
218
219
220
221
222
# File 'lib/instance_agent/codedeploy_plugin/install_instruction.rb', line 214

def execute(cleanup_file)
  raise "File already exists at #{@destination}"  if File.exists?(@destination)
  cleanup_file.puts(@destination)
  if File.symlink?(@source)
    FileUtils.symlink(File.readlink(@source), @destination)
  else
    FileUtils.copy(@source, @destination, :preserve => true)
  end
end

#to_hObject



224
225
226
# File 'lib/instance_agent/codedeploy_plugin/install_instruction.rb', line 224

def to_h
  {"type" => "copy", "source" => @source, "destination" => @destination}
end