# Class LittleGhost::PathSet

Documentation version: Edge

Canonical HTML: https://littleghostai.org/docs/LittleGhost/PathSet.html

PathSet keeps prompt or skill lookup roots in deterministic search order. It
is immutable, so appending a path does not change a running configuration.

## Inheritance

`LittleGhost::PathSet < Object`

## Includes

- `Enumerable`

## Attributes

<a id="attribute-i-paths"></a>
### `paths` (R)

The immutable Lookup::Root values in search order.

## Class methods

<a id="method-c-new"></a>
### `.new`

```ruby
.new(paths = [])
```

Accepts path strings and Lookup::Root objects.

## Instance methods

<a id="method-i-2B"></a>
### `#+`

```ruby
#+(other)
```

Appends `other` in a new path set; neither input is mutated.

<a id="method-i-each"></a>
### `#each`

```ruby
#each(&block)
```

Yields each Lookup::Root in order.

<a id="method-i-to_a"></a>
### `#to_a`

```ruby
#to_a()
```

Copies the roots into a mutable array.
