Class: Synqa::FileContent

Inherits:
Object
  • Object
show all
Defined in:
lib/synqa.rb

Overview

An object representing the content of a file within a ContentTree. The file may be marked for copying (if it’s in a source ContentTree) or for deletion (if it’s in a destination ContentTree)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, hash, parentPathElements) ⇒ FileContent

Returns a new instance of FileContent.



435
436
437
438
439
440
441
# File 'lib/synqa.rb', line 435

def initialize(name, hash, parentPathElements)
  @name = name
  @hash = hash
  @parentPathElements = parentPathElements
  @copyDestination = nil
  @toBeDeleted = false
end

Instance Attribute Details

#copyDestinationObject (readonly)

The destination to which the file should be copied



430
431
432
# File 'lib/synqa.rb', line 430

def copyDestination
  @copyDestination
end

#hashObject (readonly)

The hash value of the file’s contents



424
425
426
# File 'lib/synqa.rb', line 424

def hash
  @hash
end

#nameObject (readonly)

The name of the file



421
422
423
# File 'lib/synqa.rb', line 421

def name
  @name
end

#parentPathElementsObject (readonly)

The components of the relative path where the file is found



427
428
429
# File 'lib/synqa.rb', line 427

def parentPathElements
  @parentPathElements
end

#toBeDeletedObject (readonly)

Should this file be deleted



433
434
435
# File 'lib/synqa.rb', line 433

def toBeDeleted
  @toBeDeleted
end

Instance Method Details

#markToCopy(destinationDirectory) ⇒ Object

Mark this file to be copied to a destination directory (from a destination content tree)



444
445
446
# File 'lib/synqa.rb', line 444

def markToCopy(destinationDirectory)
  @copyDestination = destinationDirectory
end

#markToDeleteObject

Mark this file to be deleted



449
450
451
# File 'lib/synqa.rb', line 449

def markToDelete
  @toBeDeleted = true
end

#relativePathObject

The relative name of this file in the content tree (relative to the base dir)



458
459
460
# File 'lib/synqa.rb', line 458

def relativePath
  return (parentPathElements + [name]).join("/")
end

#to_sObject



453
454
455
# File 'lib/synqa.rb', line 453

def to_s
  return "#{name} (#{hash})"
end