# sugo-demo-module

> Demo of SUGO-Module

Latest version **4.0.9** (published 2017-02-06) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install sugo-demo-module
pnpm add sugo-demo-module
yarn add sugo-demo-module
bun add sugo-demo-module
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 4.0.9 |
| Published | 2017-02-06 |
| First published | 2017-02-06 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=6 |
| Dependencies | 4 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Taka Okunishi |
| Maintainers | realglobe |
| Keywords | SUGOS, module |

## Links

- npm: https://www.npmjs.com/package/sugo-demo-module
- Repository: https://github.com/realglobe-inc/sugo-demo-module
- Homepage: https://github.com/realglobe-Inc/sugo-demo-module#readme
- Issues: https://github.com/realglobe-Inc/sugo-demo-module/issues
- npm.io page: https://npm.io/package/sugo-demo-module

## Dependencies (4)

- [co](https://npm.io/package/co.md) ^4.6.0
- [debug](https://npm.io/package/debug.md) ^2.2.0
- [sg-check](https://npm.io/package/sg-check.md) ^1.0.6
- [sugo-module-base](https://npm.io/package/sugo-module-base.md) ^1.0.5

## Recent versions

- 4.0.9 (latest) — 2017-02-06

## README

sugo-demo-module
==========

<!---
This file is generated by ape-tmpl. Do not update manually.
--->

<!-- Badge Start -->
<a name="badges"></a>

[![Build Status][bd_travis_shield_url]][bd_travis_url]
[![npm Version][bd_npm_shield_url]][bd_npm_url]
[![JS Standard][bd_standard_shield_url]][bd_standard_url]

[bd_repo_url]: https://github.com/realglobe-Inc/sugo-demo-module
[bd_travis_url]: http://travis-ci.org/realglobe-Inc/sugo-demo-module
[bd_travis_shield_url]: http://img.shields.io/travis/realglobe-Inc/sugo-demo-module.svg?style=flat
[bd_travis_com_url]: http://travis-ci.com/realglobe-Inc/sugo-demo-module
[bd_travis_com_shield_url]: https://api.travis-ci.com/realglobe-Inc/sugo-demo-module.svg?token=
[bd_license_url]: https://github.com/realglobe-Inc/sugo-demo-module/blob/master/LICENSE
[bd_codeclimate_url]: http://codeclimate.com/github/realglobe-Inc/sugo-demo-module
[bd_codeclimate_shield_url]: http://img.shields.io/codeclimate/github/realglobe-Inc/sugo-demo-module.svg?style=flat
[bd_codeclimate_coverage_shield_url]: http://img.shields.io/codeclimate/coverage/github/realglobe-Inc/sugo-demo-module.svg?style=flat
[bd_gemnasium_url]: https://gemnasium.com/realglobe-Inc/sugo-demo-module
[bd_gemnasium_shield_url]: https://gemnasium.com/realglobe-Inc/sugo-demo-module.svg
[bd_npm_url]: http://www.npmjs.org/package/sugo-demo-module
[bd_npm_shield_url]: http://img.shields.io/npm/v/sugo-demo-module.svg?style=flat
[bd_standard_url]: http://standardjs.com/
[bd_standard_shield_url]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg

<!-- Badge End -->


<!-- Description Start -->
<a name="description"></a>

Demo of SUGO-Module

<!-- Description End -->


<!-- Overview Start -->
<a name="overview"></a>



<!-- Overview End -->


<!-- Sections Start -->
<a name="sections"></a>

<!-- Section from "doc/guides/00.Requirements.md.hbs" Start -->

<a name="section-doc-guides-00-requirements-md"></a>

Requirements
-----

<a href="https://nodejs.org">
  <img src="https://realglobe-inc.github.io/sugos-assets/images/nodejs-banner.png"
       alt="Node.js"
       height="40"
       style="height:40px"
  /></a>
<a href="https://docs.npmjs.com/">
  <img src="https://realglobe-inc.github.io/sugos-assets/images/npm-banner.png"
       alt="NPM"
       height="40"
       style="height:40px"
  /></a>

+ [Node.js ( >=6 )][node_download_url]
+ [npm ( >=4 )][npm_url]

[node_download_url]: https://nodejs.org/en/download/
[npm_url]: https://docs.npmjs.com/


<!-- Section from "doc/guides/00.Requirements.md.hbs" End -->

<!-- Section from "doc/guides/01.Installation.md.hbs" Start -->

<a name="section-doc-guides-01-installation-md"></a>

Installation
-----

```bash
$ npm install sugo-demo-module --save
```


<!-- Section from "doc/guides/01.Installation.md.hbs" End -->

<!-- Section from "doc/guides/02.Usage.md.hbs" Start -->

<a name="section-doc-guides-02-usage-md"></a>

Usage
---------

Register a module to actor.

```javascript
#!/usr/bin/env node

/**
 * Example usage to register module on actor
 * @see https://github.com/realglobe-Inc/sugo-actor
 */
'use strict'

const sugoDemoModule = require('sugo-demo-module')
const sugoActor = require('sugo-actor')
const co = require('co')

co(function * () {
  let actor = sugoActor('http://my-sugo-cloud.example.com/actors', {
    key: 'my-actor-01',
    modules: {
      // Register the module
      module01: sugoDemoModule({})
    }
  })
  yield actor.connect()
}).catch((err) => console.error(err))

```

Then, call the module from a remote caller.

```javascript
#!/usr/bin/env node

/**
 * Example to call from caller
 * @see https://github.com/realglobe-Inc/sugo-caller
 */
'use strict'

const co = require('co')
const assert = require('assert')
const sugoCaller = require('sugo-caller')

co(function * () {
  let caller = sugoCaller('http://my-sugo-cloud.example.com/callers', {})
  let actor = caller.connect('my-actor-01')

  // Access to the module
  let module01 = actor.get('module01')

  // Send ping
  let pong = yield module01.ping()
  assert.ok(pong)
}).catch((err) => console.error(err))

```

<!-- Section from "doc/guides/02.Usage.md.hbs" End -->

<!-- Section from "doc/guides/03.Methods.md.hbs" Start -->

<a name="section-doc-guides-03-methods-md"></a>

Methods
---------

The following methods are available from remote callers for the module.

+ [.ping(pong) -> string](#method-ping)
+ [.assert() -> boolean](#method-assert)

<a name="method-ping"></a>
### .ping(pong) -> <code>string</code>

Test the reachability of a module.

| Param | Type | Description |
| ----- | ---- | ----------- |
| pong  | <code>string</code> | Pong message to return |

<a name="method-assert"></a>
### .assert() -> <code>boolean</code>

Test if the actor fulfills system requirements



<!-- Section from "doc/guides/03.Methods.md.hbs" End -->

<!-- Section from "doc/guides/04.Events.md.hbs" Start -->

<a name="section-doc-guides-04-events-md"></a>



<!-- Section from "doc/guides/04.Events.md.hbs" End -->


<!-- Sections Start -->


<!-- LICENSE Start -->
<a name="license"></a>

License
-------
This software is released under the [Apache-2.0 License](https://github.com/realglobe-Inc/sugo-demo-module/blob/master/LICENSE).

<!-- LICENSE End -->


<!-- Links Start -->
<a name="links"></a>

Links
------

+ [SUGOS][sugos_url]
+ [Realglobe, Inc][realglobe,_inc_url]

[sugos_url]: https://github.com/realglobe-Inc/sugos
[realglobe,_inc_url]: http://realglobe.jp

<!-- Links End -->

---
_Source: https://npm.io/package/sugo-demo-module · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
