<commit_before><div>
    <img src="https://raw.githubusercontent.com/opentable/spur-ioc/master/media/spur-ioc.png" alt="Spur: IoC" title="Spur: IoC" />

    <a href="http://www.opentable.com/careers/technology/">
        <img src="https://raw.githubusercontent.com/opentable/spur-ioc/master/media/opentable-engineering.png" alt="OpenTable | Engineering" title="OpenTable | Engineering" align="right" />
    </a>
</div>

Dependency Injection Framework for [Node.js](http://nodejs.org/).

The project is still a work in progress. We are in the middle of making adjustments and are starting to dogfood the module in our own applications.

[![NPM version](https://badge.fury.io/js/spur-ioc.png)](http://badge.fury.io/js/spur-ioc)
[![Build Status](https://travis-ci.org/opentable/spur-ioc.png?branch=master)](https://travis-ci.org/opentable/spur-ioc)

#Topics

- [Features](#features)
- [Quick start](#quick-start)
- [API Reference](API.md)
- [Examples](#examples)
    - [Coffee-Script: Express.js Web Server](https://github.com/opentable/spur-express-coffee-example)
    - [JavaScript: Express.js Web Server](https://github.com/opentable/spur-express-js-example)
- [What is inversion of control and why you should use it?](#what-is-inversion-of-control-and-why-you-should-use-it)
- [Development](#development)
    - [Testing](#testing)
    - [Styleguide](#styleguide)
- [License](#license)
- [Changelog](#changelog)
- [Contributing](#contributing)

#Features

  * Dependency injection (IoC) inspired by AngularJS
  * Auto injects folders
  * Ability to merge injectors
  * Ability to link injectors
  * Makes testing super easy
    * Ability to substitute dependencies in tests
  * Resolution of dependencies by querying via regular expresion
  * Clear error stack trace reporting

#Example

```bash
$ npm install spur-ioc --save
```

Then: Define lib/injector.js

```javascript
var spur = require("spur-ioc");

module.exports = function(){
  // define a  new injector
  var ioc = spur.create("demo");

<<<<<<< HEAD
  //register external dependencies or globals
=======
  // register node modules to be injected
  ioc.registerLibraries({
    "_"      : "underscore",
    "path"   : "path"
  });

  // register already constructed objects such as globals
>>>>>>> 5e79af69252bc0b46498130347eb2f213ea7fd00
  ioc.registerDependencies({
    "_"           : require("underscore"),
    "path"        : require("path")<commit_msg>fix typo in readme<commit_after><div>
    <img src="https://raw.githubusercontent.com/opentable/spur-ioc/master/media/spur-ioc.png" alt="Spur: IoC" title="Spur: IoC" />

    <a href="http://www.opentable.com/careers/technology/">
        <img src="https://raw.githubusercontent.com/opentable/spur-ioc/master/media/opentable-engineering.png" alt="OpenTable | Engineering" title="OpenTable | Engineering" align="right" />
    </a>
</div>

Dependency Injection Framework for [Node.js](http://nodejs.org/).

The project is still a work in progress. We are in the middle of making adjustments and are starting to dogfood the module in our own applications.

[![NPM version](https://badge.fury.io/js/spur-ioc.png)](http://badge.fury.io/js/spur-ioc)
[![Build Status](https://travis-ci.org/opentable/spur-ioc.png?branch=master)](https://travis-ci.org/opentable/spur-ioc)

#Topics

- [Features](#features)
- [Quick start](#quick-start)
- [API Reference](API.md)
- [Examples](#examples)
    - [Coffee-Script: Express.js Web Server](https://github.com/opentable/spur-express-coffee-example)
    - [JavaScript: Express.js Web Server](https://github.com/opentable/spur-express-js-example)
- [What is inversion of control and why you should use it?](#what-is-inversion-of-control-and-why-you-should-use-it)
- [Development](#development)
    - [Testing](#testing)
    - [Styleguide](#styleguide)
- [License](#license)
- [Changelog](#changelog)
- [Contributing](#contributing)

#Features

  * Dependency injection (IoC) inspired by AngularJS
  * Auto injects folders
  * Ability to merge injectors
  * Ability to link injectors
  * Makes testing super easy
    * Ability to substitute dependencies in tests
  * Resolution of dependencies by querying via regular expresion
  * Clear error stack trace reporting

#Example

```bash
$ npm install spur-ioc --save
```

Then: Define lib/injector.js

```javascript
var spur = require("spur-ioc");

module.exports = function(){
  // define a  new injector
  var ioc = spur.create("demo");


  //register external dependencies or globals
  ioc.registerDependencies({
    "_"           : require("underscore"),
    "path"        : require("path"),
{'fraction_non_alphanumeric': 0.15275659185007626, 'fraction_numerical': 0.005883634778818915, 'mean_word_length': 4.0550660792951545, 'pattern_counts': {'":': 0, '<': 22, '<?xml version=': 0, '>': 22, 'https://': 14, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1385734', 'n_tokens_mistral': 1579, 'n_tokens_neox': 1494, 'n_words': 337}