From 7f78729b5b34b285ce6bb15bfb49b07e74bb9674 Mon Sep 17 00:00:00 2001 From: brettlangdon Date: Wed, 9 Mar 2016 16:55:22 -0500 Subject: [PATCH] use extend for parsing options --- lib/api/graph.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/api/graph.js b/lib/api/graph.js index 13d0102..49b8396 100644 --- a/lib/api/graph.js +++ b/lib/api/graph.js @@ -1,4 +1,5 @@ var client = require("../client"); +var extend = require("extend"); var json = require("../json"); var querystring = require("querystring"); @@ -91,8 +92,12 @@ function createEmbed(graphJSON, options, callback){ callback = options; options = {}; } - var body = options || {}; - body.graph_json = JSON.stringify(graphJSON); + var body = { + graph_json: JSON.stringify(graphJSON) + }; + // Use `extend` to merge `options` into `body` + // DEV: `extend` will ignore any properties whose value is `undefined` + extend(body, options || {}); // Create the request var params = { @@ -108,8 +113,8 @@ module.exports = { createEmbed: createEmbed, getUsage: function(){ return [ - " dogapi graph snapshot [--events ]", - " dogapi graph create_embed [--timeframe ] [--size ] [--legend ] [--title ]" + " dogapi graph snapshot <query> <from> <to> [--events <event-query>]", + " dogapi graph create_embed <graph_json> [--timeframe <timeframe>] [--size <size>] [--legend <legend>] [--title <title>]" ]; }, getHelp: function(){ @@ -142,7 +147,7 @@ module.exports = { legend: args["legend"], title: args["title"] }; - createEmbed(graph_json, timeframe, size, legend, title, callback); + createEmbed(graph_json, options, callback); } else { callback("unknown subcommand or arguments try `dogapi graph --help` for help", false); }