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: Architecture::EMPTY_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: Architecture::EMPTY_CONTEXT)
  @origin = source
  @clone = 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