Class: InstanceAgent::Plugins::CodeDeployPlugin::CopyCommand

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source, destination) ⇒ CopyCommand

Returns a new instance of CopyCommand.



223
224
225
226
# File 'lib/instance_agent/plugins/codedeploy/install_instruction.rb', line 223

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

Instance Attribute Details

#destinationObject (readonly)

Returns the value of attribute destination.



222
223
224
# File 'lib/instance_agent/plugins/codedeploy/install_instruction.rb', line 222

def destination
  @destination
end

#sourceObject (readonly)

Returns the value of attribute source.



222
223
224
# File 'lib/instance_agent/plugins/codedeploy/install_instruction.rb', line 222

def source
  @source
end

Instance Method Details

#execute(cleanup_file) ⇒ Object



228
229
230
231
232
233
234
235
236
# File 'lib/instance_agent/plugins/codedeploy/install_instruction.rb', line 228

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



238
239
240
# File 'lib/instance_agent/plugins/codedeploy/install_instruction.rb', line 238

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