Prophet::ChangeSet.3pm

Langue: en

Version: 2009-12-22 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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.