Socket
Socket
Sign inDemoInstall

kobold-core

Package Overview
Dependencies
77
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    kobold-core

Core library for shared objects of the Kobold testing framework.


Version published
Maintainers
2
Install size
10.4 MB
Created

Readme

Source

Kobold-Core

Core library for shared objects of the Kobold testing framework.

Build Status Coveralls Coverage Code Climate Grade

NPM version NPM License

NPM NPM

Coverage Report API Documentation

Gitter Support

Table of Contents

##Installation

Install this module with the following command:

npm install kobold-core

Add the module to your package.json dependencies:

npm install --save kobold-core

Add the module to your package.json dev-dependencies:

npm install --save-dev kobold-core

Require the module in your source-code:

var core = require('kobold-core');

##Usage

The module exposes 2 major components:

  • Storage Adapter
  • Connection Adapter

###Storage Adapter

There are two storage adapter available:

  • FileStorageAdapter (file)
  • KeyValueStorageAdapter (KeyValue)

These adapters can be accessed through the storageAdapters property:

var FileStorageAdapter = core.storageAdapters.file;

A build function is available to create and configure a storage adapter:

var storageAdapter = core.buildStorageAdapter('build1', {
	type: '...'
});

An abstract storage adapter is exposed to implement additional plugins:

var StoragePlugin = core.StorageAdapter.extend({
	// Implementation
});

####File Storage Adapter

This storage adapter uses the local filesystem to manage screens.

var fileStorageAdapter = core.buildStorageAdapter('build1', {
	type: 'File',
	options: {
		path: 'path/to/screens'
	}
});

####Key-Value Storage Adapter

The Key-Value storage adapter manages screens on a key-value storage system.

var keyValueStorageAdapter = core.buildStorageAdapter('build1', {
	type: 'KeyValue',
	connection: connectionAdapter,
	options: {
		company: '<company-id>',
		department: '<department-id>',
		project: '<project-id>',
		job: '<job-id>'
	}
});

###Connection Adapter

Currently, only one connection adapter is available:

  • RiakConnectionAdapter (Riak)

These adapters can be accessed through the connectionAdapters property:

var RiakConnectionAdapter = core.connectionAdapters.Riak;

A build function is available to create and configure a connection adapter:

var riakStorageAdapter = core.buildConnectionAdapter({
	type: 'Riak',
	options: {
		host: 'www.example.org'
	}
});

An abstract connection adapter is exposed to implement additional plugins:

var ConnectionPlugin = core.ConnectionAdapter.extend({
	// Implementation
});

####Riak Connection Adapter

This adapter can be supplied to the Key-Value storage adapter to save the screens in a Riak grid.

var riakStorageAdapter = core.buildConnectionAdapter({
	type: 'Riak',
	options: {
		host: 'www.example.org'
	}
});

var keyValueStorageAdapter = core.buildStorageAdapter('build1', {
	type: 'KeyValue',
	connection: riakStorageAdapter,
	options: {
		company: '<company-id>',
		department: '<department-id>',
		project: '<project-id>',
		job: '<job-id>'
	}
});

##API-Documentation

Generate the documentation with following command:

npm run docs

The documentation will be generated in the docs folder of the module root.

##Tests

Run the tests with the following command:

npm run test

The code-coverage will be written to the coverage folder in the module root.

##Third-party libraries

The following third-party libraries are used by this module:

###Dependencies

###Dev-Dependencies

##License

The MIT License

Copyright 2014 Yahoo Inc.

Keywords

FAQs

Last updated on 09 Feb 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc