Skip to content

Commit 8a08822

Browse files
patinthehatPatrick
authored andcommitted
move duplicated options init code to shared lib, add host, port options for configuring the Ray connection
1 parent 70cecf8 commit 8a08822

File tree

4 files changed

+67
-14
lines changed

4 files changed

+67
-14
lines changed

src/RayVue2.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
1-
import errorHandler from './shared/ErrorHandler';
1+
import initializeOptions from './shared/InitializeOptions';
22
import PackageInfo from './shared/PackageInfo';
33
import rayMethodMixin from './shared/RayMethodMixin';
44

5-
const RayPlugin = {
5+
export default {
66
install: function (Vue, options) {
77
Vue.prototype.$rayVersion = PackageInfo.VERSION;
88

9-
if (options.interceptErrors === true) {
10-
Vue.config.errorHandler = errorHandler;
11-
}
9+
initializeOptions(options, Vue.config);
1210

1311
Vue.mixin({
1412
methods: rayMethodMixin,
1513
});
1614
},
1715
};
18-
19-
export default RayPlugin;

src/RayVue3.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
import errorHandler from './shared/ErrorHandler';
1+
import initializeOptions from './shared/InitializeOptions';
22
import PackageInfo from './shared/PackageInfo';
33
import rayMethodMixin from './shared/RayMethodMixin';
44

5-
const RayPlugin = {
5+
export default {
66
install: (app, options) => {
77
app.config.globalProperties.$rayVersion = PackageInfo.VERSION;
88

9-
if (options.interceptErrors === true) {
10-
app.config.errorHandler = errorHandler;
11-
}
9+
initializeOptions(options, app.config);
1210

1311
app.provide('ray', options);
1412

@@ -17,5 +15,3 @@ const RayPlugin = {
1715
});
1816
},
1917
};
20-
21-
export default RayPlugin;

src/shared/InitializeOptions.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const { Ray } = require('node-ray/web');
2+
import errorHandler from './ErrorHandler';
3+
4+
export const initializeOptions = (options, vueConfig) => {
5+
if (options.interceptErrors === true) {
6+
vueConfig.errorHandler = errorHandler;
7+
}
8+
9+
let host = 'localhost',
10+
port = 23517;
11+
12+
if (typeof options['host'] === 'string') {
13+
host = options.host;
14+
}
15+
16+
if (typeof options['port'] === 'number') {
17+
port = options.port;
18+
}
19+
20+
Ray.useDefaultSettings({ host, port });
21+
};
22+
23+
export default initializeOptions;
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/* eslint-disable no-undef */
2+
/* eslint-disable no-unused-vars */
3+
const { Ray } = require('node-ray/web');
4+
5+
import { initializeOptions } from './../../src/shared/InitializeOptions';
6+
7+
let options, vueConfig;
8+
9+
beforeEach(() => {
10+
options = {};
11+
vueConfig = { errorHandler: null };
12+
});
13+
14+
describe('Option Initializer:', () => {
15+
it('initializes interceptErrors option', () => {
16+
options.initializeOptions = true;
17+
18+
initializeOptions(options, vueConfig);
19+
20+
expect(typeof vueConfig.errorHandler).toBe('object');
21+
});
22+
23+
it('initializes host option', () => {
24+
options.host = 'otherhost';
25+
26+
initializeOptions(options, vueConfig);
27+
28+
expect(Ray.defaultSettings.host).toBe('otherhost');
29+
});
30+
31+
it('initializes port option', () => {
32+
options.port = 12345;
33+
34+
initializeOptions(options, vueConfig);
35+
36+
expect(Ray.defaultSettings.port).toBe(12345);
37+
});
38+
});

0 commit comments

Comments
 (0)