Class: Architecture::Copy

Inherits:
Object
  • Object
show all
Includes:
Contentable, Replicatable
Defined in:
lib/architecture/copy.rb

Instance Method Summary collapse

Constructor Details

#initialize(source:, destination:, context: {}) ⇒ Copy

Returns a new instance of Copy.



6
7
8
9
10
# File 'lib/architecture/copy.rb', line 6

def initialize(source:, destination:, context: {})
  @origin = Entity.new(path: source)
  @clone = Entity.new(path: destination)
  @context = context
end

Instance Method Details

#callObject



12
13
14
15
16
17
18
# File 'lib/architecture/copy.rb', line 12

def call
  if origin.file? && context.any?
    clone.write(text: data)
  else
    origin.copy(entity: clone)
  end
end