Sha256: b791cf63c73223a10b55d33c6c2d518d8a82c99957178535a01fc379486cfe75
Contents?: true
Size: 760 Bytes
Versions: 2
Compression:
Stored size: 760 Bytes
Contents
--- id: finalize title: Finalization sidebar_label: Finalize --- To apply custom transformations to the cloned record, you can use the `finalize` declaration: ```ruby class UserCloner < Clowne::Cloner finalize do |_source, record, _params| record.name = 'This is copy!' end trait :change_email do finalize do |_source, record, params| record.email = params[:email] end end end cloned = UserCloner.call(user).to_record cloned.name # => 'This is copy!' cloned.email == 'clone@example.com' # => false cloned2 = UserCloner.call(user, traits: :change_email).to_record cloned2.name # => 'This is copy!' cloned2.email # => 'clone@example.com' ``` Finalization blocks are called at the end of the [cloning process](execution_order.md).
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
clowne-1.1.0 | docs/finalize.md |
clowne-1.0.0 | docs/finalize.md |