Module: Messaging::Message::Copy
Defined Under Namespace
Classes: Error
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.call(source, receiver = nil, copy: nil, include: nil, exclude: nil, metadata: nil, strict: nil) ⇒ Object
8 9 10 |
# File 'lib/messaging/message/copy.rb', line 8 def self.call(source, receiver=nil, copy: nil, include: nil, exclude: nil, metadata: nil, strict: nil) copy(source, receiver, copy: copy, include: include, exclude: exclude, metadata: , strict: strict) end |
Instance Method Details
#copy(source, receiver = nil, copy: nil, include: nil, exclude: nil, metadata: nil, strict: nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/messaging/message/copy.rb', line 12 def copy(source, receiver=nil, copy: nil, include: nil, exclude: nil, metadata: nil, strict: nil) ||= false strict ||= false if receiver.nil? receiver = self end if receiver.class == Class receiver = receiver.build end begin SetAttributes.(receiver, source, copy: copy, include: include, exclude: exclude, strict: strict) rescue SetAttributes::Attribute::Error => e raise Error, e., e.backtrace end if SetAttributes.(receiver., source.) end receiver end |