---
name: "Prophet::ForeignReplica"
section: "3pm"
platform: "linux"
package: "libprophet-perl"
version: "0.743-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Prophet::ForeignReplica"
---

# Prophet::ForeignReplica(3pm)

## 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
    username_prompt
    secret_prompt
```

To use the default prompts, which ask for a username and password, pass in `"uri"` and (optionally) `"username"`.  The username prompt will be skipped if a username is passed in.

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.
