API Docs for: v3.8.1
Show:

DS.SnapshotRecordArray Class

Constructor

DS.SnapshotRecordArray

(
  • snapshots
  • meta
)
private

Parameters:

  • snapshots Array

    An array of snapshots

  • meta Object

Methods

snapshots

() Array

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

An array of records

_snapshots

Array private

An array of snapshots

adapterOptions

Object

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

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

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

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

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