NAME

Prophet::Change

DESCRIPTION

This class encapsulates a change to a single record in a Prophet replica.

METHODS

record_type

The record type for the record.

record_uuid

The UUID of the record being changed.

change_type

One of add_file, add_dir, update_file, delete.

is_resolution

A boolean value specifying whether this change represents a conflict resolution or not.

prop_changes [\@PROPCHANGES]

Returns a list of Prophet::PropChanges associated with this Change. Takes an optional arrayref to fully replace the set of propchanges.

has_prop_changes

Returns true if this change contains any Prophet::PropChanges and false if it doesn't.

new_from_conflict $conflict

Takes a Prophet::Conflict object and creates a Prophet::Change object representing the conflict resolution.

add_prop_change { new => __, old => ___, name => ___ }

Adds a new Prophet::PropChange to this Prophet::Change.

Takes a name, and the old and new values.

as_hash

Returns a reference to a representation of this change as a hash.

as_string ARGS

Returns a string representing this change. If $args{header_callback} is specified, the string returned from passing $self to the callback is prepended to the change string before it is returned.

new_from_hashref HASHREF

Takes a reference to a hash representation of a change (such as is returned by "as_hash" or serialized json) and returns a new Prophet::Change representation of it.

This method should be invoked as a class method, not an object method.

For example: Prophet::Change->new_from_hashref($ref_to_change_hash)