<commit_before>By default, your store will use
[DS.RESTAdapter](http://emberjs.com/api/data/classes/DS.RESTAdapter.html) to load and
save records. The RESTAdapter assumes that the URLs and JSON
associated with each model are conventional; this means that, if you
follow the rules, you will not need to configure the adapter or write
any code in order to get started.

### URL Conventions

The REST adapter is smart enough to determine the URLs it communicates
with based on the name of the model. For example, if you ask for a
`Post` by ID:

```js
store.findRecord('post', 1).then(function(post) {
});
```

The REST adapter will automatically send a `GET` request to `/posts/1`.

For multiple word names, the REST adapter will use `lower_snake_case`.

The actions you can take on a record map onto the following URLs in the
REST adapter:

<table>
  <thead>
    <tr><th>Action</th><th>HTTP Verb</th><th>URL</th></tr>
  </thead>
  <tbody>
    <tr><th>Find Record</th><td>GET</td><td>/posts/123</td></tr>
    <tr><th>Find All</th><td>GET</td><td>/posts</td></tr>
    <tr><th>Update</th><td>PUT</td><td>/posts/123</td></tr>
    <tr><th>Create</th><td>POST</td><td>/posts</td></tr><commit_msg>Add inline generate command to "The REST Adapter" Also added a small subtitle Refs #410<commit_after>By default, your store will use
[DS.RESTAdapter](http://emberjs.com/api/data/classes/DS.RESTAdapter.html) to load and
save records. The RESTAdapter assumes that the URLs and JSON
associated with each model are conventional; this means that, if you
follow the rules, you will not need to configure the adapter or write
any code in order to get started.

If you do need to customize the adapter for your application, you can create
an Application Adapter which subclasses [DS.RESTAdapter](http://emberjs.com/api/data/classes/DS.RESTAdapter.html) by running:

```bash
ember generate adapter application
```

### URL Conventions

The REST adapter is smart enough to determine the URLs it communicates
with based on the name of the model. For example, if you ask for a
`Post` by ID:

```js
store.findRecord('post', 1).then(function(post) {
});
```

The REST adapter will automatically send a `GET` request to `/posts/1`.

For multiple word names, the REST adapter will use `lower_snake_case`.

The actions you can take on a record map onto the following URLs in the
REST adapter:

<table>
  <thead>
    <tr><th>Action</th><th>HTTP Verb</th><th>URL</th></tr>
  </thead>
  <tbody>
    <tr><th>Find Record</th><td>GET</td><td>/posts/123</td></tr>
    <tr><th>Find All</th><td>GET</td><td>/posts</td></tr>
    <tr><th>Update</th><td>PUT</td><td>/posts/123</td></tr>
    <tr><th>Create</th><td>POST</td><td>/posts</td></tr>
{'fraction_non_alphanumeric': 0.14211695040710584, 'fraction_numerical': 0.007031828275351592, 'mean_word_length': 4.505091649694501, 'pattern_counts': {'":': 0, '<': 91, '<?xml version=': 0, '>': 91, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '952419', 'n_tokens_mistral': 896, 'n_tokens_neox': 845, 'n_words': 312}