The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Prophet::Change - encapsulates a change to a single record in a Prophet replica.

VERSION

version 0.751

ATTRIBUTES

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.

METHODS

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)

AUTHORS

  • Jesse Vincent <jesse@bestpractical.com>

  • Chia-Liang Kao <clkao@bestpractical.com>

  • Christine Spang <christine@spang.cc>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2009 by Best Practical Solutions.

This is free software, licensed under:

  The MIT (X11) License

BUGS AND LIMITATIONS

You can make new bug reports, and view existing ones, through the web interface at https://rt.cpan.org/Public/Dist/Display.html?Name=Prophet.

CONTRIBUTORS

  • Alex Vandiver <alexmv@bestpractical.com>

  • Casey West <casey@geeknest.com>

  • Cyril Brulebois <kibi@debian.org>

  • Florian Ragwitz <rafl@debian.org>

  • Ioan Rogers <ioanr@cpan.org>

  • Jonas Smedegaard <dr@jones.dk>

  • Kevin Falcone <falcone@bestpractical.com>

  • Lance Wicks <lw@judocoach.com>

  • Nelson Elhage <nelhage@mit.edu>

  • Pedro Melo <melo@simplicidade.org>

  • Rob Hoelz <rob@hoelz.ro>

  • Ruslan Zakirov <ruz@bestpractical.com>

  • Shawn M Moore <sartak@bestpractical.com>

  • Simon Wistow <simon@thegestalt.org>

  • Stephane Alnet <stephane@shimaore.net>

  • Unknown user <nobody@localhost>

  • Yanick Champoux <yanick@babyl.dyndns.org>

  • franck cuny <franck@lumberjaph.net>

  • robertkrimen <robertkrimen@gmail.com>

  • sunnavy <sunnavy@bestpractical.com>