#

API Docs for: v3.8.1
Show: Inherited Protected Private Deprecated

# DS.SnapshotRecordArray Class

Defined in: `addon/-private/system/snapshot-record-array.js:5`
Module: ember-data

## Constructor

### `DS.SnapshotRecordArray`

(

- `snapshots`
- `meta`

)
private

Defined in `addon/-private/system/snapshot-record-array.js:5`

#### Parameters:

- `snapshots` Array

  An array of snapshots

- `meta` Object

- Index
- Methods
- Properties

## Item Index

### Methods

- snapshots

### Properties

- _recordArray
- _snapshots
- adapterOptions
- include
- length
- meta
- type

## Methods

### `snapshots`

() Array

Defined in `addon/-private/system/snapshot-record-array.js:129`

Get snapshots of the underlying record array

Example

    import DS from 'ember-data'

    export default DS.JSONAPIAdapter.extend({
      shouldReloadAll(store, snapshotArray) {
        var snapshots = snapshotArray.snapshots();

        return snapshots.any(function(ticketSnapshot) {
          var timeDiff = moment().diff(ticketSnapshot.attr('lastAccessedAt'), 'minutes');
          if (timeDiff > 20) {
            return true;
          } else {
            return false;
          }
        });
      }
    });

#### Returns:

Array:

Array of snapshots

## Properties

### `_recordArray`

Array private

Defined in `addon/-private/system/snapshot-record-array.js:23`

An array of records

### `_snapshots`

Array private

Defined in `addon/-private/system/snapshot-record-array.js:15`

An array of snapshots

### `adapterOptions`

Object

Defined in `addon/-private/system/snapshot-record-array.js:75`

A hash of adapter options passed into the store method for this request.

Example

    import MyCustomAdapter from './custom-adapter';

    export default MyCustomAdapter.extend({
      findAll(store, type, sinceToken, snapshotRecordArray) {
        if (snapshotRecordArray.adapterOptions.subscribe) {
          // ...
        }
        // ...
      }
    });

### `include`

String | Array

Defined in `addon/-private/system/snapshot-record-array.js:98`

The relationships to include for this request.

Example

    import DS from 'ember-data';

    export default DS.Adapter.extend({
      findAll(store, type, snapshotRecordArray) {
        var url = /${type.modelName}?include=${encodeURIComponent(snapshotRecordArray.include)};

        return fetch(url).then((response) => response.json())
      }
    });

### `length`

Number

Defined in `addon/-private/system/snapshot-record-array.js:31`

Number of records in the array

Example

    import DS from 'ember-data'

    export default DS.JSONAPIAdapter.extend({
      shouldReloadAll(store, snapshotRecordArray) {
        return !snapshotRecordArray.length;
      },
    });

### `meta`

Object

Defined in `addon/-private/system/snapshot-record-array.js:53`

Meta objects for the record array.

Example

    import DS from 'ember-data'

    export default DS.JSONAPIAdapter.extend({
      shouldReloadAll(store, snapshotRecordArray) {
        var lastRequestTime = snapshotRecordArray.meta.lastRequestTime;
        var twentyMinutes = 20 * 60 * 1000;
        return Date.now() > lastRequestTime + twentyMinutes;
      },
    });

### `type`

DS.Model

Defined in `addon/-private/system/snapshot-record-array.js:120`

The type of the underlying records for the snapshots in the array, as a DS.Model