Skip to content

Commit

Permalink
Change from plugin to module.
Browse files Browse the repository at this point in the history
  • Loading branch information
alexlangberg committed Sep 10, 2015
1 parent a7af37e commit 231f607
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 66 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 2.0.0 (2015-30-05)

## Breaking changes

-- Change from plugin to module. ```require``` will now work differently. See example in README.

# 1.0.0 (2015-30-05)

## Features
Expand Down
23 changes: 10 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,10 @@ npm install goldwasher
## Usage

```javascript
var goldwasher = require('goldwasher');
require('goldwasher-schedule');
goldwasher.schedule.setup(targets, options, callback);
goldwasher.start();
goldwasher.stop();
var gs = require('goldwasher-schedule');
gs.setup(targets, options, callback);
gs.start();
gs.stop();
```

## Parameters
Expand Down Expand Up @@ -91,8 +90,7 @@ var processResults = function(error, results, target, response, body) {

## Example
```javascript
var goldwasher = require('goldwasher');
require('goldwasher-schedule');
var gs = require('goldwasher-schedule');

// declare google.com a target
var targets = [
Expand All @@ -102,15 +100,14 @@ var targets = [
];

// set up the schedule
goldwasher.schedule.setup(targets, function(error, results) {
gs.setup(targets, function(error, results) {
console.log(results);
}).start();
```

## Advanced example
```javascript
var goldwasher = require('goldwasher');
require('goldwasher-schedule');
var gs = require('goldwasher-schedule');

// first will use default options below, second has custom options
var targets = [
Expand All @@ -137,13 +134,13 @@ var processResults = function(error, results) {
};

// set up the schedule
goldwasher.schedule.setup(targets, options, processResults);
gs.setup(targets, options, processResults);

// start the schedule
goldwasher.schedule.start();
gs.start();

// stop the schedule after 60 seconds
setTimeout(function() {
goldwasher.schedule.stop();
gs.stop();
}, 60000);
```
9 changes: 4 additions & 5 deletions docs/goldwasher-schedule.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ <h1 class="page-title">Source: goldwasher-schedule.js</h1>
<pre class="prettyprint source linenums"><code>'use strict';

var R = require('ramda');
var goldwasher = require('goldwasher');
require('goldwasher-needle');
var gn = require('goldwasher-needle');
var nodeSchedule = require('node-schedule');

/**
Expand Down Expand Up @@ -79,7 +78,7 @@ <h1 class="page-title">Source: goldwasher-schedule.js</h1>
R.forEach(function(target) {
var options = R.merge(_this.options, target);
var job = nodeSchedule.scheduleJob(options.rule, function() {
goldwasher.needle(
gn(
options.url,
options,
function(error, result, response, body) {
Expand All @@ -105,7 +104,7 @@ <h1 class="page-title">Source: goldwasher-schedule.js</h1>
}, _this.jobs);
};

goldwasher.schedule = schedule;
module.exports = schedule;
</code></pre>
</article>
</section>
Expand All @@ -122,7 +121,7 @@ <h2><a href="index.html">Index</a></h2>
<br clear="both">

<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha5</a> on Sat May 30 2015 17:14:09 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha5</a> on Thu Sep 10 2015 23:30:10 GMT+0200 (CEST)
</footer>

<script> prettyPrint(); </script>
Expand Down
25 changes: 11 additions & 14 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,10 @@ <h2 id="installation">Installation</h2>
</code></pre><p>If you haven&#39;t already downloaded <a href="https://www.npmjs.org/package/goldwasher">goldwasher</a>, you need to install this too, to run the example:</p>
<pre><code>npm install goldwasher
</code></pre><h2 id="usage">Usage</h2>
<pre><code class="lang-javascript">var goldwasher = require(&#39;goldwasher&#39;);
require(&#39;goldwasher-schedule&#39;);
goldwasher.schedule.setup(targets, options, callback);
goldwasher.start();
goldwasher.stop();
<pre><code class="lang-javascript">var gs = require(&#39;goldwasher-schedule&#39;);
gs.setup(targets, options, callback);
gs.start();
gs.stop();
</code></pre>
<h2 id="parameters">Parameters</h2>
<h3 id="targets">Targets</h3>
Expand Down Expand Up @@ -110,8 +109,7 @@ <h3 id="callback">callback</h3>
};
</code></pre>
<h2 id="example">Example</h2>
<pre><code class="lang-javascript">var goldwasher = require(&#39;goldwasher&#39;);
require(&#39;goldwasher-schedule&#39;);
<pre><code class="lang-javascript">var gs = require(&#39;goldwasher-schedule&#39;);

// declare google.com a target
var targets = [
Expand All @@ -121,13 +119,12 @@ <h2 id="example">Example</h2>
];

// set up the schedule
goldwasher.schedule.setup(targets, function(error, results) {
gs.setup(targets, function(error, results) {
console.log(results);
}).start();
</code></pre>
<h2 id="advanced-example">Advanced example</h2>
<pre><code class="lang-javascript">var goldwasher = require(&#39;goldwasher&#39;);
require(&#39;goldwasher-schedule&#39;);
<pre><code class="lang-javascript">var gs = require(&#39;goldwasher-schedule&#39;);

// first will use default options below, second has custom options
var targets = [
Expand All @@ -154,14 +151,14 @@ <h2 id="advanced-example">Advanced example</h2>
};

// set up the schedule
goldwasher.schedule.setup(targets, options, processResults);
gs.setup(targets, options, processResults);

// start the schedule
goldwasher.schedule.start();
gs.start();

// stop the schedule after 60 seconds
setTimeout(function() {
goldwasher.schedule.stop();
gs.stop();
}, 60000);
</code></pre>
</article>
Expand All @@ -181,7 +178,7 @@ <h2><a href="index.html">Index</a></h2>
<br clear="both">

<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha5</a> on Sat May 30 2015 17:14:09 GMT+0200 (CEST)
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha5</a> on Thu Sep 10 2015 23:30:10 GMT+0200 (CEST)
</footer>

<script> prettyPrint(); </script>
Expand Down
9 changes: 4 additions & 5 deletions example.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use strict';

var goldwasher = require('goldwasher');
require('./lib/goldwasher-schedule');
var gs = require('./lib/goldwasher-schedule');

// first will use default options below, second has custom options
var targets = [
Expand All @@ -28,12 +27,12 @@ var processResults = function(error, results) {
};

// set up the schedule
goldwasher.schedule.setup(targets, options, processResults);
gs.setup(targets, options, processResults);

// start the schedule
goldwasher.schedule.start();
gs.start();

// stop the schedule after 60 seconds
setTimeout(function() {
goldwasher.schedule.stop();
gs.stop();
}, 60000);
7 changes: 3 additions & 4 deletions lib/goldwasher-schedule.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
'use strict';

var R = require('ramda');
var goldwasher = require('goldwasher');
require('goldwasher-needle');
var gn = require('goldwasher-needle');
var nodeSchedule = require('node-schedule');

/**
Expand Down Expand Up @@ -52,7 +51,7 @@ schedule.start = function() {
R.forEach(function(target) {
var options = R.merge(_this.options, target);
var job = nodeSchedule.scheduleJob(options.rule, function() {
goldwasher.needle(
gn(
options.url,
options,
function(error, result, response, body) {
Expand All @@ -78,4 +77,4 @@ schedule.stop = function() {
}, _this.jobs);
};

goldwasher.schedule = schedule;
module.exports = schedule;
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@
"sinon": "^1.14.1"
},
"dependencies": {
"goldwasher": ">= 5.x",
"goldwasher-needle": "^1.1.0",
"goldwasher-needle": "^2.0.0",
"node-schedule": "^0.2.7",
"ramda": "^0.17.1"
}
Expand Down
39 changes: 16 additions & 23 deletions test/goldwasher-schedule.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ var chai = require('chai');
chai.use(require('chai-things'));
var should = chai.should();
var sinon = require('sinon');
var goldwasher = require('goldwasher');
require('../lib/goldwasher-schedule');
var gs = require('../lib/goldwasher-schedule');

var options = {
schedule: {
Expand Down Expand Up @@ -44,33 +43,27 @@ after(function() {

describe('initialization', function() {

it('loads', function(done) {
goldwasher.should.have.property('needle');
goldwasher.should.have.property('schedule');
done();
});

it('loads without options', function(done) {
goldwasher.schedule.setup(targets, function() {
gs.setup(targets, function() {
});

done();
});

it('accepts options', function(done) {
goldwasher.schedule.setup(targets, options, function() {
gs.setup(targets, options, function() {
});

done();
});

it('passes down options', function(done) {
goldwasher.schedule.setup(targets, options, function() {
gs.setup(targets, options, function() {
});

goldwasher.schedule.options.should.have.property('goldwasher');
goldwasher.schedule.options.should.have.property('needle');
goldwasher.schedule.options.should.have.property('goldwasherNeedle');
gs.options.should.have.property('goldwasher');
gs.options.should.have.property('needle');
gs.options.should.have.property('goldwasherNeedle');
done();
});

Expand All @@ -79,13 +72,13 @@ describe('initialization', function() {
describe('running', function() {

it('runs and stops', function(done) {
goldwasher.schedule.setup(targets, options, function(error, results) {
gs.setup(targets, options, function(error, results) {
results.length.should.be.greaterThan(0);
goldwasher.schedule.stop();
gs.stop();
done();
});

goldwasher.schedule.start();
gs.start();
clock.tick(61000);
});

Expand All @@ -97,29 +90,29 @@ describe('running', function() {
}
];

goldwasher.schedule.setup(
gs.setup(
targets,
options,
function(error, results, target) {
target.rule.second.should.equal(2);
results.length.should.be.greaterThan(0);
goldwasher.schedule.stop();
gs.stop();
done();
});

goldwasher.schedule.start();
gs.start();
clock.tick(61000);
});

it('returns error on goldwasher-needle failure', function(done) {
var targets = [{url: 'foo'}];
goldwasher.schedule.setup(targets, options, function(error, results) {
gs.setup(targets, options, function(error, results) {
should.exist(error);
goldwasher.schedule.stop();
gs.stop();
done();
});

goldwasher.schedule.start();
gs.start();
clock.tick(61000);
});

Expand Down

0 comments on commit 231f607

Please sign in to comment.