Skip to content

Commit f056b4d

Browse files
committed
Stable Version 0.1.0
1 parent ef6ff92 commit f056b4d

15 files changed

+750
-20
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
##### 0.1.0 - 05 February 2015
2+
3+
- Initial Release
4+
15
##### 0.0.1 - 05 February 2015
26

37
- Initial Commit

Gruntfile.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* js-data-sql
3+
* http://github.com/js-data/js-data-sql
4+
*
5+
* Copyright (c) 2014 Jason Dobry <http://www.js-data.io/js-data-sql>
6+
* Licensed under the MIT license. <https://github.com/js-data/js-data-sql/blob/master/LICENSE>
7+
*/
8+
module.exports = function (grunt) {
9+
'use strict';
10+
11+
require('jit-grunt')(grunt, {
12+
coveralls: 'grunt-karma-coveralls'
13+
});
14+
require('time-grunt')(grunt);
15+
16+
var pkg = grunt.file.readJSON('package.json');
17+
18+
// Project configuration.
19+
grunt.initConfig({
20+
pkg: pkg,
21+
jshint: {
22+
all: ['Gruntfile.js', 'src/**/*.js', 'test/*.js'],
23+
jshintrc: '.jshintrc'
24+
},
25+
watch: {
26+
dist: {
27+
files: ['src/**/*.js'],
28+
tasks: ['build']
29+
}
30+
},
31+
coveralls: {
32+
options: {
33+
coverage_dir: 'coverage'
34+
}
35+
},
36+
mochaTest: {
37+
all: {
38+
options: {
39+
timeout: 20000,
40+
reporter: 'spec'
41+
},
42+
src: ['mocha.start.js', 'test/**/*.js']
43+
}
44+
}
45+
});
46+
47+
grunt.registerTask('n', ['mochaTest']);
48+
49+
grunt.registerTask('test', ['build', 'n']);
50+
grunt.registerTask('build', [
51+
'jshint'
52+
]);
53+
grunt.registerTask('go', ['build', 'watch:dist']);
54+
grunt.registerTask('default', ['build']);
55+
};

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@ var JSData = require('js-data');
2525
var DSSqlAdapter = require('js-data-sql');
2626

2727
var store = new JSData.DS();
28+
var adapter = new DSSqlAdapter({
29+
client: 'mysql', // or "pg" or "sqlite3"
30+
connection: {
31+
host: '123.45.67.890',
32+
user: 'ubuntu',
33+
password: 'welcome1234'
34+
}
35+
});
2836

2937
store.registerAdapter('sql', adapter, { default: true });
3038

circle.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
database:
2+
override:
3+
- mysql -u ubuntu circle_test < test/setup.sql
4+
test:
5+
post:
6+
- grunt coveralls || true

mocha.start.js

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
/*global assert:true */
2+
'use strict';
3+
4+
var assert = require('chai').assert;
5+
var mocha = require('mocha');
6+
var sinon = require('sinon');
7+
var DSSqlAdapter = require('./');
8+
var JSData = require('js-data');
9+
10+
var adapter, store, DSUtils, DSErrors, User, Post, Comment;
11+
12+
var globals = module.exports = {
13+
fail: function (msg) {
14+
assert.equal('should not reach this!: ' + msg, 'failure');
15+
},
16+
TYPES_EXCEPT_STRING: [123, 123.123, null, undefined, {}, [], true, false, function () {
17+
}],
18+
TYPES_EXCEPT_STRING_OR_ARRAY: [123, 123.123, null, undefined, {}, true, false, function () {
19+
}],
20+
TYPES_EXCEPT_STRING_OR_NUMBER: [null, undefined, {}, [], true, false, function () {
21+
}],
22+
TYPES_EXCEPT_STRING_OR_OBJECT: [123, 123.123, null, undefined, [], true, false, function () {
23+
}],
24+
TYPES_EXCEPT_STRING_OR_NUMBER_OBJECT: [null, undefined, [], true, false, function () {
25+
}],
26+
TYPES_EXCEPT_STRING_OR_ARRAY_OR_NUMBER: [null, undefined, {}, true, false, function () {
27+
}],
28+
TYPES_EXCEPT_NUMBER: ['string', null, undefined, {}, [], true, false, function () {
29+
}],
30+
TYPES_EXCEPT_OBJECT: ['string', 123, 123.123, null, undefined, true, false, function () {
31+
}],
32+
TYPES_EXCEPT_BOOLEAN: ['string', 123, 123.123, null, undefined, {}, [], function () {
33+
}],
34+
TYPES_EXCEPT_FUNCTION: ['string', 123, 123.123, null, undefined, {}, [], true, false],
35+
assert: assert,
36+
sinon: sinon,
37+
adapter: undefined
38+
};
39+
40+
var test = new mocha();
41+
42+
var testGlobals = [];
43+
44+
for (var key in globals) {
45+
global[key] = globals[key];
46+
testGlobals.push(globals[key]);
47+
}
48+
test.globals(testGlobals);
49+
50+
beforeEach(function () {
51+
store = new JSData.DS({
52+
log: false
53+
});
54+
adapter = new DSSqlAdapter({
55+
client: 'mysql',
56+
connection: {
57+
user: 'ubuntu',
58+
database: 'circle_test'
59+
}
60+
});
61+
DSUtils = JSData.DSUtils;
62+
DSErrors = JSData.DSErrors;
63+
globals.User = global.User = User = store.defineResource({
64+
name: 'user',
65+
relations: {
66+
hasMany: {
67+
post: {
68+
localField: 'posts',
69+
foreignKey: 'post'
70+
}
71+
}
72+
}
73+
});
74+
globals.Post = global.Post = Post = store.defineResource({
75+
name: 'post',
76+
relations: {
77+
belongsTo: {
78+
user: {
79+
localField: 'user',
80+
localKey: 'userId'
81+
}
82+
},
83+
hasMany: {
84+
comment: {
85+
localField: 'comments',
86+
foreignKey: 'postId'
87+
}
88+
}
89+
}
90+
});
91+
globals.Comment = global.Comment = Comment = store.defineResource({
92+
name: 'comment',
93+
relations: {
94+
belongsTo: {
95+
post: {
96+
localField: 'post',
97+
localKey: 'postId'
98+
},
99+
user: {
100+
localField: 'user',
101+
localKey: 'userId'
102+
}
103+
}
104+
}
105+
});
106+
107+
globals.adapter = adapter;
108+
global.adapter = globals.adapter;
109+
110+
globals.DSUtils = DSUtils;
111+
global.DSUtils = globals.DSUtils;
112+
113+
globals.DSErrors = DSErrors;
114+
global.DSErrors = globals.DSErrors;
115+
});
116+
117+
afterEach(function (done) {
118+
globals.adapter = null;
119+
global.adapter = null;
120+
121+
adapter.destroyAll(Comment).then(function () {
122+
return adapter.destroyAll(Post);
123+
}).then(function () {
124+
return adapter.destroyAll(User);
125+
}).then(function () {
126+
done();
127+
}, done);
128+
});

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "js-data-sql",
33
"description": "Postgres/MySQL/MariaDB/SQLite3 adapter for js-data.",
4-
"version": "0.0.1",
4+
"version": "0.1.0",
55
"homepage": "http://www.js-data.io/docs/dssqladapter",
66
"repository": {
77
"type": "git",

0 commit comments

Comments
 (0)