Skip to content

Commit 361df41

Browse files
authored
Merge pull request #7 from micro-analytics/feat/add-support-for-cli-options
Add support for cli options
2 parents 43d62d8 + 5eb55b3 commit 361df41

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

index.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@ const promisify = require('then-flat-file-db')
44
const escapeRegexp = require('escape-regex')
55
const Observable = require("zen-observable")
66

7-
const db = promisify(flatfile.sync(path.resolve(process.cwd(), process.env.DB_NAME || 'views.db')))
7+
let db
8+
9+
function init(options) {
10+
db = promisify(flatfile.sync(path.resolve(process.cwd(), options.dbName || 'views.db')))
11+
}
12+
13+
// This is here for backwards compatability should be removed at some point
14+
init({dbName: process.env.DB_NAME})
815

916
const keyRegex = (str) => {
1017
str = str.split('*').map( s => escapeRegexp(s)).join('*')
@@ -23,6 +30,14 @@ const observable = new Observable((observer) => {
2330
});
2431

2532
module.exports = {
33+
options: [
34+
{
35+
name: 'db-name',
36+
description: 'The name of the flat-file-db file.',
37+
defaultValue: process.env.DB_NAME || 'views.db'
38+
}
39+
],
40+
init,
2641
put: (key, value) => {
2742
handlers.forEach(handler => {
2843
handler({key, value});

test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ const promisify = require('then-flat-file-db')
44
const test = require('micro-analytics-cli/adapter-tests/unit-tests')
55

66
const db = promisify(flatfile.sync(path.resolve(process.cwd(), process.env.DB_NAME || 'views.db')))
7+
const adapter = require('./index')
78

89

910
test({
1011
name: 'flat-file-db',
1112
modulePath: path.resolve(__dirname, './index.js'),
13+
beforeAll: () => {
14+
adapter.init({ dbName: 'views.db' })
15+
},
1216
beforeEach: () => {
1317
return db.clear();
1418
}

0 commit comments

Comments
 (0)