Prophet::Change(3pm)

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