Skip to content

Instantly share code, notes, and snippets.

View dashersw's full-sized avatar

Armagan Amcalar dashersw

View GitHub Profile
@dashersw
dashersw / conversion-service.js
Created May 9, 2017 07:30
Hassle-free microservices with cote.js — conversion-service.js with updates
const cote = require('cote');
const responder = new cote.Responder({ name: 'currency conversion responder' });
const subscriber = new cote.Subscriber({ name: 'arbitration subscriber' });
const rates = { usd_eur: 0.91, eur_usd: 1.10 };
subscriber.on('update rate', (update) => {
rates[update.currencies] = update.rate;
});
@dashersw
dashersw / conversion-service.js
Created May 9, 2017 07:26
Hassle-free microservices with cote.js — conversion-service.js with updates
const cote = require('cote');
const responder = new cote.Requester({ name: 'currency conversion responder' });
const subscriber = new cote.Subscriber({ name: 'arbitration subscriber' });
const rates = { usd_eur: 0.91, eur_usd: 1.10 };
subscriber.on('update rate', (update) => {
rates[update.currencies] = update.rate;
});
@dashersw
dashersw / conversion-service.js
Created May 9, 2017 07:24
Hassle-free microservices with cote.js — conversion-service.js step 4
subscriber.on('update rate', (update) => {
rates[update.currencies] = update.rate;
});
@dashersw
dashersw / conversion-service.js
Created May 9, 2017 07:24
Hassle-free microservices with cote.js — conversion-service.js step 3
const subscriber = new cote.Subscriber({ name: 'arbitration subscriber' });
@dashersw
dashersw / arbitration-service.js
Last active May 9, 2017 07:36
Hassle-free microservices with cote.js — arbitration-service.js
const cote = require('cote');
const responder = new cote.Responder({ name: 'arbitration API', key: 'arbitration' });
const publisher = new cote.Publisher({ name: 'arbitration publisher' });
const rates = {};
responder.on('update rate', (req, cb) => {
rates[req.currencies] = req.rate;
cb('OK!');
@dashersw
dashersw / arbitration-service.js
Created May 9, 2017 07:16
Hassle-free microservices with cote.js — arbitration-service.js step 5
responder.on('update rate', (req, cb) => {
rates[req.currencies] = req.rate;
cb('OK!');
publisher.publish('update rate', req);
});
@dashersw
dashersw / arbitration-service.js
Created May 9, 2017 07:15
Hassle-free microservices with cote.js — arbitration-service.js step 4
const publisher = new cote.Publisher({ name: 'arbitration publisher' });
@dashersw
dashersw / arbitration-service.js
Created May 9, 2017 07:14
Hassle-free microservices with cote.js — arbitration-service.js step 3
responder.on('update rate', (req, cb) => {
rates[req.currencies] = req.rate; // { currencies: 'usd_eur', rate: 0.91 }
cb('OK!');
});
@dashersw
dashersw / arbitration-service.js
Created May 9, 2017 07:10
Hassle-free microservices with cote.js — arbitration-service.js step 2
const rates = {};
@dashersw
dashersw / conversion-service.js
Created May 9, 2017 07:08
Hassle-free microservices with cote.js — conversion-service.js step 1
const cote = require('cote');
const responder = new cote.Responder({ name: 'currency conversion responder' });