Skip to content

Commit

Permalink
Merged release 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
thetutlage committed Dec 27, 2015
2 parents c584d71 + d5b54e1 commit 3b6dc8a
Show file tree
Hide file tree
Showing 38 changed files with 2,325 additions and 1,515 deletions.
19 changes: 12 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,35 @@
{
"name": "adonis-lucid",
"version": "1.0.5",
"description": "Database Orm for adonis framework",
"version": "2.0.0",
"description": "Beautifully crafted sql ORM for adonis framework",
"main": "index.js",
"scripts": {
"test": "node --harmony_proxies node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec test/implementation test/unit && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage",
"coverage": "node --harmony_proxies node_modules/istanbul/lib/cli.js cover ./node_modules/.bin/_mocha test/implementation test/unit --bail"
"test": "npm run standard && node --harmony_proxies node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec test/implementation test/unit && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage",
"coverage": "node --harmony_proxies node_modules/istanbul/lib/cli.js cover ./node_modules/.bin/_mocha test/implementation test/unit --bail",
"standard": "standard src/**/*.js providers/*.js"
},
"author": "",
"license": "ISC",
"author": "adonisjs",
"license": "MIT",
"devDependencies": {
"chai": "^3.2.0",
"co": "^4.6.0",
"coveralls": "^2.11.4",
"cz-conventional-changelog": "^1.1.2",
"fs-extra": "^0.26.3",
"istanbul": "^0.3.20",
"loadtest": "^1.2.14",
"mocha": "^2.3.0",
"mocha-lcov-reporter": "0.0.2",
"mysql": "^2.9.0",
"sqlite3": "^3.1.0"
"sqlite3": "^3.1.0",
"standard": "^5.4.1"
},
"peerDependencies": {
"adonis-fold": "^1.0.0"
},
"dependencies": {
"auto-loader": "^0.2.0",
"cat-log": "^1.0.0",
"change-case": "^2.3.0",
"harmony-reflect": "^1.4.2",
"i": "^0.3.3",
Expand Down
6 changes: 3 additions & 3 deletions providers/CollectionProvider.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
'use strict';
'use strict'

/**
* adonis-lucid
Expand All @@ -8,9 +8,9 @@

const ServiceProvider = require('adonis-fold').ServiceProvider

class CollectionProvider extends ServiceProvider{
class CollectionProvider extends ServiceProvider {

* register() {
* register () {
this.app.bind('Adonis/Src/Collection', function () {
return require('../src/Orm/Collection')
})
Expand Down
15 changes: 6 additions & 9 deletions providers/DatabaseProvider.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
'use strict';
'use strict'

/**
* adonis-lucid
Expand All @@ -8,16 +8,13 @@

const ServiceProvider = require('adonis-fold').ServiceProvider

class DatabaseProvider extends ServiceProvider{
class DatabaseProvider extends ServiceProvider {

static get inject(){
return ["Adonis/Src/Env", "Adonis/Addons/Config"]
}

* register() {
this.app.singleton('Adonis/Src/Database', function (Env,Config) {
* register () {
this.app.singleton('Adonis/Src/Database', function (app) {
const Config = app.use('Adonis/Src/Config')
const Database = require('../src/Database')
return new Database(Env,Config)
return new Database(Config)
})
}

Expand Down
13 changes: 5 additions & 8 deletions providers/LucidProvider.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
'use strict';
'use strict'

/**
* adonis-lucid
Expand All @@ -8,14 +8,11 @@

const ServiceProvider = require('adonis-fold').ServiceProvider

class LucidProvider extends ServiceProvider{
class LucidProvider extends ServiceProvider {

static get inject(){
return ["Adonis/Src/Database"]
}

* register() {
this.app.bind('Adonis/Src/Lucid', function (Database) {
* register () {
this.app.bind('Adonis/Src/Lucid', function (app) {
const Database = app.use('Adonis/Src/Database')
const Lucid = require('../src/Orm/Proxy/Model')
Lucid.database = Database
return Lucid
Expand Down
23 changes: 23 additions & 0 deletions providers/RunnerProvider.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
'use strict'

/**
* adonis-lucid
* Copyright(c) 2015-2015 Harminder Virk
* MIT Licensed
*/

const ServiceProvider = require('adonis-fold').ServiceProvider

class RunnerProvider extends ServiceProvider {

* register () {
this.app.singleton('Adonis/Src/Runner', function (app) {
const Config = app.use('Adonis/Src/Config')
const Runner = require('../src/Runner')
return new Runner(Config)
})
}

}

module.exports = RunnerProvider
41 changes: 41 additions & 0 deletions providers/SchemaProvider.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
'use strict'

/**
* adonis-lucid
* Copyright(c) 2015-2015 Harminder Virk
* MIT Licensed
*/

const ServiceProvider = require('adonis-fold').ServiceProvider

class SchemaProvider extends ServiceProvider {

* register () {
this.app.bind('Adonis/Src/Schema', function () {
return require('../src/Schema')
})

this.app.bind('Adonis/Commands/Make', function (app) {
const Helpers = app.use('Adonis/Src/Helpers')
const Make = require('../src/Commands/Make')
return new Make(Helpers)
})

this.app.bind('Adonis/Commands/Run', function (app) {
const Helpers = app.use('Adonis/Src/Helpers')
const Runner = app.use('Adonis/Src/Runner')
const Run = require('../src/Commands/Run')
return new Run(Helpers, Runner)
})

this.app.bind('Adonis/Commands/Rollback', function (app) {
const Helpers = app.use('Adonis/Src/Helpers')
const Runner = app.use('Adonis/Src/Runner')
const Rollback = require('../src/Commands/Rollback')
return new Rollback(Helpers, Runner)
})
}

}

module.exports = SchemaProvider
80 changes: 80 additions & 0 deletions src/Commands/Make.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
'use strict'

/**
* adonis-lucid
* Copyright(c) 2015-2015 Harminder Virk
* MIT Licensed
*/

const migrationContent = `
'use strict'
const Schema = use('Schema')
class NewSchema extends Schema {
up () {
}
down () {
}
}
module.exports = NewSchema
`

const fs = require('fs')

class Make {

constructor (Helpers) {
this.helpers = Helpers
}

/**
* @description returns command description
* @method description
* @return {String}
* @public
*/
description () {
return 'Create a new migration file'
}

/**
* @description command signature to define expectation for
* a given command to ace
* @method signature
* @return {String}
* @public
*/
signature () {
return '{name}'
}

/**
* @description creates a new migration file
* @method handle
* @param {Object} options
* @param {Object} flags
* @return {Object}
* @public
*/
handle (options) {
return new Promise((resolve, reject) => {
const name = `${new Date().getTime()}_${options.name}.js`
const migrationPath = this.helpers.migrationsPath(name)

fs.writeFile(migrationPath, migrationContent, function (error) {
if (error) {
reject(error)
} else {
resolve(`Created ${name} migration successfully`)
}
})
})
}
}

module.exports = Make
58 changes: 58 additions & 0 deletions src/Commands/Rollback.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
'use strict'

/**
* adonis-lucid
* Copyright(c) 2015-2015 Harminder Virk
* MIT Licensed
*/

const autoLoader = require('auto-loader')

class Rollback {

constructor (Helpers, Runner) {
this.migrations = Helpers.migrationsPath()
this.runner = Runner
}

/**
* @description returns command description
* @method description
* @return {String}
* @public
*/
description () {
return 'Rollback migrations executed in last batch'
}

/**
* @description command signature to define expectation for
* a given command to ace
* @method signature
* @return {String}
* @public
*/
signature () {
return '{--force?}'
}

/**
* @description rollback all migrations using
* runner provider
* @method handle
* @param {Object} options
* @param {Object} flags
* @return {Object}
* @public
*/
* handle (options, flags) {
if (process.env.NODE_ENV === 'production' && !flags.force) {
throw new Error('Cannot run migrations in production')
}
const migrationsFiles = autoLoader.load(this.migrations)
return yield this.runner.down(migrationsFiles)
}

}

module.exports = Rollback
58 changes: 58 additions & 0 deletions src/Commands/Run.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
'use strict'

/**
* adonis-lucid
* Copyright(c) 2015-2015 Harminder Virk
* MIT Licensed
*/

const autoLoader = require('auto-loader')

class Run {

constructor (Helpers, Runner) {
this.migrations = Helpers.migrationsPath()
this.runner = Runner
}

/**
* @description returns command description
* @method description
* @return {String}
* @public
*/
description () {
return 'Run latest migrations'
}

/**
* @description command signature to define expectation for
* a given command to ace
* @method signature
* @return {String}
* @public
*/
signature () {
return '{--force?}'
}

/**
* @description migrate all migrations using runner
* provider
* @method handle
* @param {Object} options
* @param {Object} flags
* @return {Object}
* @public
*/
* handle (options, flags) {
if (process.env.NODE_ENV === 'production' && !flags.force) {
throw new Error('Cannot run migrations in production')
}
const migrationsFiles = autoLoader.load(this.migrations)
return yield this.runner.up(migrationsFiles)
}

}

module.exports = Run
Loading

0 comments on commit 3b6dc8a

Please sign in to comment.