Skip to content

Instantly share code, notes, and snippets.

@sukima
Created November 28, 2018 17:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sukima/7641d41f61af3ec661742c81c846a078 to your computer and use it in GitHub Desktop.
Save sukima/7641d41f61af3ec661742c81c846a078 to your computer and use it in GitHub Desktop.
Simple Mirage use
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'tr',
classNames: ['user-row']
});
import Ember from 'ember';
import { reads } from '@ember/object/computed';
export default Ember.Controller.extend({
users: reads('model')
});
export default function() {
this.resource('users');
}
import { Factory, faker } from 'ember-cli-mirage';
export default Factory.extend({
name() { return faker.name.findName(); },
username() { return faker.internet.userName(); },
email() { return faker.internet.email(); },
phone() { return faker.phone.phoneNumber(); },
website() { return faker.internet.domainName(); }
});
export default function(server) {
server.createList('user', 10);
}
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
export default Model.extend({
name: attr('string'),
username: attr('string'),
email: attr('string'),
phone: attr('string'),
website: attr('string')
});
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.findAll('user');
}
});
<div class="hack container">
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Username</th>
<th>Email</th>
<th>Phone</th>
<th>Website</th>
</tr>
</thead>
<tbody>
{{#each users as |user|}}
{{user-row user=user}}
{{else}}
<tr><td colspan="6">No users available</td></tr>
{{/each}}
</tbody>
</table>
</div>
<td><code>{{user.id}}</code></td>
<td>{{user.name}}</td>
<td><code>{{user.username}}</code></td>
<td><a href="mailto:{{user.email}}">{{user.email}}</a></td>
<td><a href="tel:{{user.phone}}">{{user.phone}}</a></td>
<td><a href={{user.website}}>{{user.website}}</a></td>
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"ENV": {
"ember-cli-mirage": {
"enabled": true
}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"hack_css": "https://cdnjs.cloudflare.com/ajax/libs/hack/0.8.0/hack.css",
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2",
"ember-cli-mirage": "latest"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment