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)"