js/libs/ember-data.js
function(type, properties) {
    type = this.modelFor(type);

    properties = copy(properties) || {};

    // If the passed properties do not include a primary key,
    // give the adapter an opportunity to generate one. Typically,
    // client-side ID generators will use something like uuid.js
    // to avoid conflicts.

    if (isNone(properties.id)) {
      properties.id = this._generateId(type);
    }

    // Coerce ID to a string
    properties.id = coerceId(properties.id);

    var record = this.buildRecord(type, properties.id);

    // Move the record out of its initial `empty` state into
    // the `loaded` state.
    record.loadedData();

    // Set the properties specified on the record.
    record.setProperties(properties);

    return record;
  }
function(type, properties) {
    type = this.modelFor(type);

    properties = copy(properties) || {};

    // If the passed properties do not include a primary key,
    // give the adapter an opportunity to generate one. Typically,
    // client-side ID generators will use something like uuid.js
    // to avoid conflicts.

    if (isNone(properties.id)) {
      properties.id = this._generateId(type);
    }

    // Coerce ID to a string
    properties.id = coerceId(properties.id);

    var record = this.buildRecord(type, properties.id);

    // Move the record out of its initial `empty` state into
    // the `loaded` state.
    record.loadedData();

    // Set the properties specified on the record.
    record.setProperties(properties);

    return record;
  }
..................... . CREATE NEW RECORD . ..................... 
Create a new record in the current store. The properties passed
to this method are set on the newly created record.

To create a new instance of `App.Post`:

```js
store.createRecord('post', {
title: "Rails is omakase"
});
```

@method createRecord
@param {String} type
@param {Object} properties a hash of properties to set on the
newly created record.
@returns {DS.Model} record