Ember JSON Schema
Generate Ember-Data models from JSON Schemas.
Usage
First, install the addon:
$ ember install ember-json-schema
Then, either import or declare your schema:
// app/schemas/post.js type: 'object' properties: title: type: 'string' is_published: type: 'boolean' posted_at: type: 'date' likes: type: 'number' tags: type: 'array' items: type: 'string' hash: type: 'object' user_id: type: 'number' topic_ids: type: 'array' items: type: 'number' ;
Generating Models
In your model file, load the schema, generate the JsonSchemaModel
, and mix it
into the model declaration:
// app/models/post.js ;;; Model;
Generating Mirage Factories
In your factory file, load the schema, generate the JsonSchemaFactory
, and mix
it into the factory declaration:
// app/mirage/factories/post.js ;;; Factory;
Loading Schema from JSON files
Use ember-cli-json-module
to load your raw .json
files.
Loading Schema from an EmberCLI Rails application
First, install the ember-cli-json-module
addon.
If your EmberCLI repository is resides within your Rails repository, you can symlink your schema from your Rails directories to your Ember directories:
$ mkdir -p app/schemas
$ cd app/schemas
$ ln -s ../../spec/support/api/schemas/post.json post.json
Then, load the schema from your model like normal.
Caveats
- When a JSON Schema declares
{ "type": ["string", "null"] }
, the Model and Factory generators will treat it as the first type (in this case,DS.attr('string')
).
Installation
git clone
this repositorynpm install
bower install
Running
ember server
- Visit your app at http://localhost:4200.
Running Tests
ember test
ember test --server
Building
ember build
For more information on using ember-cli, visit http://www.ember-cli.com/.