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)