purrency

0.1.2 • Public • Published

purrency

We use purrency in node.js as a quick and dirty solution to fetch exchange reference rates from the official and sometimes shaky ECB API

It is designed to go hand in hand with money.js to allow simple conversions out of the box.

purrency leverages the event class to allow adding your own listeners for fetch & error events as illustrated in the example below.

purrency's XML references are hardcoded in the script and far from good-looking, but it appears that the module seems to do it's job pretty well, considering that the API more than sometimes is unreachable. So if the code make your eyes bleed, rock on and make a pull request.

Installation

npm install purrency

Example usage

var purrency = require('purrency');

// Change default base currency from EUR (default) to USD
purrency.settings.default_currency = 'USD';

purrency.events.on('fetch', function(rates){
    
    // Convert exchange rates with money.js
    // See http://josscrowcroft.github.com/money.js/ for docs
    var fx = require('money');
    fx.rates = rates.rates;
    fx.base = purrency.settings.default_currency;
    fx.settings = {from : purrency.settings.default_currency /*, to : "SEK"*/}; // Defaults
    
    console.log(fx(1000).to("SEK"));
    
    // Store a daily record of currencies in database:
    var mongo = require('mongoskin'),
        db = require('mongoskin').db('localhost');
    
    mongo.db.collection('currencies').findAndModify({timestamp: rates.timestamp}, [], rates, {upsert: true}, function(err, d) {
        console.log("Stored currencies in database!");
    });
    
});

purrency.events.on('error', function(err){
    console.log(err);
    process.exit(1); 
});

// Fetch currencies
purrency.fetch();

license

See LICENSE file.

Copyright (c) 2012 Joakim Brantingson

Readme

Keywords

none

Package Sidebar

Install

npm i purrency

Weekly Downloads

4

Version

0.1.2

License

none

Last publish

Collaborators

  • jockster