![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
ember-flexure
Advanced tools
Flexure is a library for helping you manage data and communicate with servers in Ember.js.
It's designed to fill the niche between when Ember Data is too heavy or opinionated for your needs, but raw ajax and javascript objects are not enough.
Its primary goal is to help you get your data into Ember objects that you can do useful things with, like define computed properties or manage simple relationships.
A bower component is forthcoming.
You should be using the new Ember resolver, preferably via ember-cli.
To define a model, create subclass EF.Model. For example,
// app/models/person.js
export default EF.Model.extend({
name: EF.attr("string"),
hobbies: EF.hasMany("hobby"),
isNice: EF.attr("boolean", {default: true}),
isNotNice: Ember.computed.not("isNice"),
});
// app/models/hobby.js
export default EF.Model.extend({
name: EF.attr("string"),
skill: Ef.attr("number"),
});
In Ember Data, you would pull your models out of the store. Flexure, on the other hand, does not have an identity map; the term "store" didn't feel right. Flexure instead provides Models, a utility class for creating model instances.
This object is automatically injected into your routes and controllers as the
models
property.
As a basic example,
// app/routes/index.js
export default Ember.Route.extend({
model: function() {
this.models.make("person", {
name: "Jereth",
isNice: false,
hobbies: [
{
name: "Ruling Goblins",
skill: 7,
},
{
name: "Babysitting",
skill: 0,
},
{
name: "Hair",
skill: 10,
},
]
});
}
});
Note that the objects under hobbies
will automatically be converted into
instances of model:hobby
, as defined in the previous section.
Models also provide basic support for managing:
Flexure also provides a utility object for communicating with your server.
To define it, subclass EF.API and register it as api:application
. This object
is automatically injected into your routes and controllers, and has access to
Models
.
// app/apis/application.js
export default EF.API.extend({
host: "//api.mydomain.com",
headers: {
"X-My-Auth-Token": "xxxx"
}
findPerson: function(name) {
var models = this.models;
return this.request({
type: "GET", //default
path: "person/" + name,
}).then(function(data) {
return models.make("person", data);
});
}
});
MIT License.
FAQs
A simple model framework for Ember.js
The npm package ember-flexure receives a total of 4 weekly downloads. As such, ember-flexure popularity was classified as not popular.
We found that ember-flexure demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.