Skip to content

Commit 5b5bbab

Browse files
committed
README.md Updated & 1.0.3
1 parent 3c60ea5 commit 5b5bbab

4 files changed

Lines changed: 55 additions & 8 deletions

File tree

README.md

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,56 @@
66
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Rekord/rekord/blob/master/LICENSE)
77
[![Alpha](https://img.shields.io/badge/State-Alpha-orange.svg)]()
88

9-
A rekord binding to firebase - implementing Rekord.rest & Rekord.live.
9+
A rekord binding to firebase - implementing Rekord.rest (Rekord.live & Rekord.store implicitly)
1010

1111
The easiest way to install is by using bower via `bower install rekord-firebase`.
1212

13-
- `rekord-firebase.js` is `3.6KB` (`0.8KB` gzipped)
14-
- `rekord-firebase.min.js` is `1.3KB` (`0.5KB` gzipped)
13+
- `rekord-firebase.js` is `5.6KB` (`1.1KB` gzipped)
14+
- `rekord-firebase.min.js` is `1.9KB` (`0.7KB` gzipped)
15+
16+
### Example Usage
17+
18+
```javascript
19+
var fire = firebase.database();
20+
21+
// Executed after options are applied but before the store, rest, & live
22+
// implementations are added. It's good to prepare your database in this
23+
// function so if you switch backends there's only one place you need to do so.
24+
// You can also pass a prepare function as a Rekord option.
25+
Rekord.Database.Defaults.prepare = function(db, options) {
26+
db.api = options.api || fire.ref( options.name );
27+
};
28+
29+
// Default behavior
30+
var TaskList = Rekord({
31+
name: 'task_list',
32+
field: ['name', 'done']
33+
});
34+
35+
// Override (or default behavior if prepare method isn't used like above)
36+
var Task = Rekord({
37+
name: 'task',
38+
api: fire.ref('task'),
39+
field: ['name', 'done', 'task_list_id']
40+
});
41+
42+
// Or dynamically return a firebase reference
43+
var Item = Rekord({
44+
name: 'item',
45+
fields: ['name', 'list_id'],
46+
// for all, create, update, remove & query (when getQueryFirebase is not given)
47+
getFirebase: function(model, database) {
48+
// model is undefined for all() and query() functions
49+
return fire.ref( 'list/' + model.list_id + '/items' );
50+
},
51+
// for query
52+
getQueryFirebase: function(url, data) {
53+
return fire.ref( url );
54+
}
55+
// which reference to listen to for child events
56+
getLiveFirebase: function(database) {
57+
return fire.ref( database.name );
58+
}
59+
});
60+
61+
```

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rekord-firebase",
3-
"version": "1.0.2",
3+
"version": "1.0.3",
44
"homepage": "https://github.com/Rekord/rekord-firebase",
55
"authors": [
66
"Philip Diffenderfer <pdiffenderfer@gmail.com>"

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rekord-firebase",
3-
"version": "1.0.2",
3+
"version": "1.0.3",
44
"description": "A rekord binding to firebase - implementing Rekord.rest & Rekord.live",
55
"author": "Philip Diffenderfer",
66
"license": "MIT",

src/firebase.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@
6161
return database.getFirebase ? database.getFirebase( model, database ) : database.api;
6262
}
6363

64-
function getQueryFirebase(url)
64+
function getQueryFirebase(url, data)
6565
{
66-
return database.getQueryFirebase ? database.getQueryFirebase( url ) :
66+
return database.getQueryFirebase ? database.getQueryFirebase( url, data ) :
6767
( isString( url ) ? getFirebase().root.child( url ) : getFirebase() );
6868
}
6969

@@ -220,7 +220,7 @@
220220
return failure( [], 0 );
221221
}
222222

223-
var query = getQueryFirebase( url );
223+
var query = getQueryFirebase( url, data );
224224

225225
if ( isObject( data ) )
226226
{

0 commit comments

Comments
 (0)