NAME

Prophet::ForeignReplica

DESCRIPTION

This abstract baseclass implements the helpers you need to be able to easily sync a prophet replica with a "second class citizen" replica which can't exactly reconstruct changesets, doesn't use uuids to track records and so on.

METHODS

record_changes Prophet::ChangeSet

Integrate all changes in this changeset.

prompt_for_login

Interactively prompt the user for a username and an authentication secret (usually a password).

Named parameters:

uri
username
password
username_prompt
secret_prompt

To use the default prompts, which ask for a username and password, pass in uri and (optionally) username. Either prompt will be skipped if a value is passed in to begin, making this suitable for use in a login loop that prompts for values and then tests that they work for authentication, looping around if they don't.

You can also override the default prompts by passing in subroutines for username_prompt and/or secret_prompt. These subroutines return strings to be printed and are called like this:

username_prompt( uri )
secret_prompt( uri, username )

Where uri and username are the args that are passed in under those names (if any). You don't need to use them; use a closure if you want something else.