- angular.module('finance3', [])
- .factory('currencyConverter', ['$http', function($http) {
- var YAHOO_FINANCE_URL_PATTERN =
- '//query.yahooapis.com/v1/public/yql?q=select * from '+
- 'yahoo.finance.xchange where pair in ("PAIRS")&format=json&'+
- 'env=store://datatables.org/alltableswithkeys&callback=JSON_CALLBACK';
- var currencies = ['USD', 'EUR', 'CNY'];
- var usdToForeignRates = {};
- var convert = function (amount, inCurr, outCurr) {
- return amount * usdToForeignRates[outCurr] / usdToForeignRates[inCurr];
- };
- var refresh = function() {
- var url = YAHOO_FINANCE_URL_PATTERN.
- replace('PAIRS', 'USD' + currencies.join('","USD'));
- return $http.jsonp(url).success(function(data) {
- var newUsdToForeignRates = {};
- angular.forEach(data.query.results.rate, function(rate) {
- var currency = rate.id.substring(3,6);
- newUsdToForeignRates[currency] = window.parseFloat(rate.Rate);
- });
- usdToForeignRates = newUsdToForeignRates;
- });
- };
- refresh();
- return {
- currencies: currencies,
- convert: convert,
- refresh: refresh
- };
- }]);
SHARE
TWEET
Untitled
a guest
Dec 27th, 2014
241
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

