velocious 1.0.45 → 1.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -3,10 +3,10 @@
3
3
  "velocious": "bin/velocious.js"
4
4
  },
5
5
  "name": "velocious",
6
- "version": "1.0.45",
6
+ "version": "1.0.46",
7
7
  "main": "index.js",
8
8
  "scripts": {
9
- "test": "jasmine",
9
+ "test": "VELOCIOUS_TEST_DIR=../ cd spec/dummy && npx velocious test",
10
10
  "velocious": "asd"
11
11
  },
12
12
  "type": "module",
@@ -23,7 +23,6 @@
23
23
  "description": "",
24
24
  "devDependencies": {
25
25
  "awaitery": "^1.0.1",
26
- "jasmine": "^5.0.2",
27
26
  "mssql": "^11.0.1",
28
27
  "mysql": "^2.18.1",
29
28
  "node-fetch": "^3.3.1",
@@ -7,5 +7,6 @@ export default class VelociousCliBaseCommand {
7
7
  this.processArgs = args.processArgs
8
8
  }
9
9
 
10
- directory = () => digg(this, "configuration").getDirectory()
10
+ directory() { return digg(this, "configuration").getDirectory() }
11
+ getConfiguration() { return this.configuration }
11
12
  }
@@ -4,6 +4,8 @@ import TestRunner from "../../testing/test-runner.js"
4
4
 
5
5
  export default class VelociousCliCommandsTest extends BaseCommand {
6
6
  async execute() {
7
+ this.getConfiguration().setEnvironment("test")
8
+
7
9
  const directory = process.env.VELOCIOUS_TEST_DIR || this.directory()
8
10
  const testFilesFinder = new TestFilesFinder({directory, processArgs: this.processArgs})
9
11
  const testFiles = await testFilesFinder.findTestFiles()
package/src/cli/index.js CHANGED
@@ -60,5 +60,5 @@ export default class VelociousCli {
60
60
  this.args.configuration = this.configuration
61
61
  }
62
62
 
63
- getConfiguration = () => this.args.configuration
63
+ getConfiguration() { return this.args.configuration }
64
64
  }
@@ -78,11 +78,10 @@ export default class VelociousConfiguration {
78
78
  }
79
79
 
80
80
  getEnvironment() { return digg(this, "_environment") }
81
+ setEnvironment(newEnvironment) { this._environment = newEnvironment }
81
82
 
82
83
  getLocaleFallbacks = () => this.localeFallbacks
83
- setLocaleFallbacks(newLocaleFallbacks) {
84
- this.localeFallbacks = newLocaleFallbacks
85
- }
84
+ setLocaleFallbacks(newLocaleFallbacks) { this.localeFallbacks = newLocaleFallbacks }
86
85
 
87
86
  getLocale() {
88
87
  if (typeof this.locale == "function") {
@@ -204,6 +204,8 @@ class VelociousDatabaseRecord {
204
204
  this._table = await this.connection().getTableByName(this.tableName())
205
205
  this._columns = await this._getTable().getColumns()
206
206
  this._columnsAsHash = {}
207
+ this._columnNameToAttributeName = {}
208
+ this._attributeNameToColumnName = {}
207
209
 
208
210
  for (const column of this._columns) {
209
211
  this._columnsAsHash[column.getName()] = column
@@ -212,6 +214,9 @@ class VelociousDatabaseRecord {
212
214
  const camelizedColumnNameBigFirst = inflection.camelize(column.getName())
213
215
  const setterMethodName = `set${camelizedColumnNameBigFirst}`
214
216
 
217
+ this._attributeNameToColumnName[camelizedColumnName] = column.getName()
218
+ this._columnNameToAttributeName[column.getName()] = camelizedColumnName
219
+
215
220
  this.prototype[camelizedColumnName] = function () {
216
221
  return this.readAttribute(camelizedColumnName)
217
222
  }
@@ -300,7 +305,11 @@ class VelociousDatabaseRecord {
300
305
  }
301
306
 
302
307
  _setColumnAttribute(name, newValue) {
303
- const columnName = inflection.underscore(name)
308
+ if (!this.constructor._attributeNameToColumnName) throw new Error("No attribute-to-column mapping. Has record been initialized?")
309
+
310
+ const columnName = this.constructor._attributeNameToColumnName[name]
311
+
312
+ if (!columnName) throw new Error(`Couldn't figure out column name for attribute: ${attributeName}`)
304
313
 
305
314
  if (this._attributes[columnName] != newValue) {
306
315
  this._changes[columnName] = newValue
@@ -767,9 +776,11 @@ class VelociousDatabaseRecord {
767
776
  }
768
777
 
769
778
  readAttribute(attributeName) {
770
- const attributeNameUnderscore = inflection.underscore(attributeName)
779
+ const columnName = this.constructor._attributeNameToColumnName[attributeName]
780
+
781
+ if (!columnName) throw new Error(`Couldn't figure out column name for attribute: ${attributeName}`)
771
782
 
772
- return this.readColumn(attributeNameUnderscore)
783
+ return this.readColumn(columnName)
773
784
  }
774
785
 
775
786
  readColumn(attributeName) {
@@ -24,6 +24,7 @@ export default class VelociousHttpServerWorker {
24
24
  workerData: {
25
25
  debug,
26
26
  directory,
27
+ environment: this.configuration.getEnvironment(),
27
28
  workerCount: this.workerCount
28
29
  }
29
30
  })
@@ -25,11 +25,12 @@ export default class VelociousHttpServerWorkerHandlerWorkerThread {
25
25
  }
26
26
 
27
27
  async initialize() {
28
- const {debug, directory} = digs(this.workerData, "debug", "directory")
29
- const configurationPath = `${this.workerData.directory}/src/config/configuration.js`
28
+ const {debug, directory, environment} = digs(this.workerData, "debug", "directory", "environment")
29
+ const configurationPath = `${directory}/src/config/configuration.js`
30
30
  const configurationImport = await import(configurationPath)
31
31
 
32
32
  this.configuration = configurationImport.default
33
+ this.configuration.setEnvironment(environment)
33
34
  this.configuration.setCurrent()
34
35
 
35
36
  this.application = new Application({configuration: this.configuration, debug, directory})
@@ -1,12 +0,0 @@
1
- {
2
- "spec_dir": "spec",
3
- "spec_files": [
4
- "**/*-spec.js"
5
- ],
6
- "helpers": [
7
- "helpers/**/*.js"
8
- ],
9
- "stopSpecOnExpectationFailure": false,
10
- "random": false,
11
- "jsLoader": "import"
12
- }