# Class BSV::Wallet::Fixtures::Registry <a id="class-BSV-Wallet-Fixtures-Registry"></a>

**Inherits:** `Object`
**Includes:** `Enumerable`

Holds the registered fixtures + the shared postgres base.

## Attributes
### `postgres_base` [RW] <a id="attribute-i-postgres_base"></a> <a id="postgres_base-instance_method"></a>
Postgres base URL (e.g. +postgres://postgres:postgres@localhost:5433/+) used
to derive per-wallet DB URLs when not overridden.

## Public Instance Methods
### `[] (name)` <a id="method-i--5B-5D"></a> <a id="[]-instance_method"></a>
- **@param** `name` [Symbol, String]
- **@return** [Wallet, nil]

### `each()` <a id="method-i-each"></a> <a id="each-instance_method"></a>
Iterate registered fixtures (Wallet objects).

### `initialize()` <a id="method-i-initialize"></a> <a id="initialize-instance_method"></a>
- **@return** [Registry] a new instance of Registry

### `names()` <a id="method-i-names"></a> <a id="names-instance_method"></a>
- **@return** [Array<Symbol>]

### `wallet(name, wif: = nil, database_url: = nil)` <a id="method-i-wallet"></a> <a id="wallet-instance_method"></a>
Register a named wallet. Both <code>wif:</code> and <code>database_url:</code>
are optional — `database_url` derives from `postgres_base` when not given (or
stays nil if no base). Blank/whitespace input for either normalises to nil so
a stray empty ENV doesn't produce an invalid value that also prevents the
SQLite fallback downstream.
- **@param** `name` [Symbol, String]
- **@param** `wif` [String, nil]
- **@param** `database_url` [String, nil]
- **@return** [Wallet]
