# Class LittleGhost::Models::Catalog::Source

Documentation version: Edge

Canonical HTML: https://littleghostai.org/docs/LittleGhost/Models/Catalog/Source.html

Interface for catalog refresh implementations.

## Inheritance

`LittleGhost::Models::Catalog::Source < Object`

## Attributes

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

Stable provenance name recorded for refreshed facts.

## Class methods

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

```ruby
.new(name:)
```

Creates a source with its provenance `name`.

## Instance methods

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

```ruby
#attribute_merge_strategies()
```

Returns exceptional attribute merge strategies for records from this source.
Attributes replace older values unless an array is mapped to
`:union`.

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

```ruby
#refresh(target: nil)
```

Returns normalized model records, optionally scoped to `target`.
