NAME¶
Prophet::ChangeSet
DESCRIPTION¶
This class represents a single, atomic Prophet database update. It tracks some
metadata about the changeset itself and contains a list of Prophet::Change
entries which describe the actual records created, updated and deleted.
METHODS¶
new¶
Instantiate a new, empty Prophet::ChangeSet object.
creator¶
A string representing who created this changeset.
created¶
A string representing the ISO 8601 date and time when this changeset was created
(UTC).
sequence_no¶
The changeset's sequence number (in subversion terms, revision #) on the replica
sending us the changeset.
source_uuid¶
The uuid of the replica sending us the change.
original_source_uuid¶
The uuid of the replica where the change was authored.
original_sequence_no¶
The changeset's sequence number (in subversion terms, revision #) on the replica
where the change was originally created.
is_nullification¶
A boolean value specifying whether this is a nullification changeset or not.
is_resolution¶
A boolean value specifying whether this is a conflict resolution changeset or
not.
changes¶
Returns an array of all the changes in the current changeset.
has_changes¶
Returns true if this changeset has any changes.
add_change { change => Prophet::Change }¶
Adds a new change to this changeset.
as_hash¶
Returns a reference to a representation of this changeset as a hash, containing
all the properties in the package variable @SERIALIZE_PROPS, as well as a
"changes" key containing hash representations of each change in the
changeset, keyed on UUID.
new_from_hashref HASHREF¶
Takes a reference to a hash representation of a changeset (such as is returned
by "as_hash" or serialized json) and returns a new
Prophet::ChangeSet representation of it.
Should be invoked as a class method, not an object method.
For example:
"Prophet::ChangeSet->new_from_hashref($ref_to_changeset_hash)"
as_string ARGS¶
Returns a single string representing the changes in this changeset.
If $args{header_callback} is defined, the string returned from passing $self to
the callback is prepended to the changeset string before it is returned
(instead of "description_as_string").
If $args{skip_empty} is defined, an empty string is returned if the changeset
contains no changes.
The argument "change_filter" can be used to filter certain changes
from the string representation; the function is passed a change and should
return false if that change should be skipped.
The "change_header" argument, if present, is passed to
"$change->to_string" when individual changes are converted to
strings.
description_as_string¶
Returns a string representing a description of this changeset.