Prophet::Change(3pm) User Contributed Perl Documentation 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)"
perl v5.10.1 2009-12-22 Prophet::Change(3pm)
Check Out this Related Man Page
Prophet::Test(3pm) User Contributed Perl Documentation Prophet::Test(3pm)
set_editor($code)
Sets the subroutine that Prophet should use instead of "Prophet::CLI::Command::edit_text" (as this routine invokes an interactive editor)
to $code.
set_editor_script SCRIPT
Sets the editor that Proc::InvokeEditor uses.
This should be a non-interactive script found in t/scripts.
import_extra($class, $args)
in_gladiator($code)
Run the given code using Devel::Gladiator.
repo_path_for($username)
Returns a path on disk for where $username's replica is stored.
repo_uri_for($username)
Returns a file:// URI for $USERNAME'S replica (with the correct replica type prefix).
replica_uuid
Returns the UUID of the test replica.
database_uuid
Returns the UUID of the test database.
replica_last_rev
Returns the sequence number of the last change in the test replica.
as_user($username, $coderef)
Run this code block as $username. This routine sets up the %ENV hash so that when we go looking for a repository, we get the user's repo.
replica_uuid_for($username)
Returns the UUID of the given user's test replica.
database_uuid_for($username)
Returns the UUID of the given user's test database.
ok_added_revisions( { CODE }, $numbers_of_new_revisions, $msg)
Checks that the given code block adds the given number of changes to the test replica. $msg is optional and will be printed with the test
if given.
serialize_conflict($conflict_obj)
Returns a simple, serialized version of a Prophet::Conflict object suitable for comparison in tests.
The serialized version is a hash reference containing the following keys:
meta => { original_source_uuid => 'source_replica_uuid' }
records => { 'record_uuid' =>
{ change_type => 'type',
props => { propchange_name => { source_old => 'old_val',
source_new => 'new_val',
target_old => 'target_val',
}
}
},
'another_record_uuid' =>
{ change_type => 'type',
props => { propchange_name => { source_old => 'old_val',
source_new => 'new_val',
target_old => 'target_val',
}
}
},
}
serialize_changeset($changeset_obj)
Returns a simple, serialized version of a Prophet::ChangeSet object suitable for comparison in tests (a hash).
run_command($command, @args)
Run the given command with (optionally) the given args using a new Prophet::CLI object. Returns the standard output of that command in
scalar form or, in array context, the STDOUT in scalar form *and* the STDERR in scalar form.
Examples:
run_command('create', '--type=Foo');
load_record($type, $uuid)
Loads and returns a record object for the record with the given type and uuid.
as_alice CODE, as_bob CODE, as_charlie CODE, as_david CODE
Runs CODE as alice, bob, charlie or david.
perl v5.10.1 2009-09-02 Prophet::Test(3pm)