<commit_before># string-class
[![Coverage Status](https://coveralls.io/repos/github/andela-skieha/string-class/badge.svg?branch=master)](https://coveralls.io/github/andela-skieha/string-class?branch=master)
[![Build Status](https://travis-ci.org/andela-skieha/string-class.svg?branch=master)](https://travis-ci.org/andela-skieha/string-class)<commit_msg>edit README<commit_after># string-class

[![Coverage Status](https://coveralls.io/repos/github/andela-skieha/string-class/badge.svg?branch=master)](https://coveralls.io/github/andela-skieha/string-class?branch=master)
[![Build Status](https://travis-ci.org/andela-skieha/string-class.svg?branch=master)](https://travis-ci.org/andela-skieha/string-class)

## Checkpoint Explanation
This is an extension of the Javascript String class using Prototype Oriented Programming.


The following are the methods involved:
* **hasVowels**

This method evaluates to true or false depending on whether the input string has a vowel(s).

```javascript
'vowels'.toVowels() === true
'n0 vwls'.toVowels() === false
```

* **toUpper**

This method returns the input string with all characters in upper case.

```javascript
'uppercase'.toUpper() yields 'UPPERCASE'
```

* **toLower**

This method returns the input string with all characters in lower case.

```javascript
'LOWERCASE'.toLower() yields 'lowercase'
```

* **ucFirst**

This method returns the input string with the first character in upper case.

```javascript
'titlecase'.ucFirst() yields 'Titlecase'
```

* **isQuestion**

This method evaluates to true or false depending on whether the input string is a question (has a question mark at the end).

```javascript
'Is this a question?'.isQuestion() === true
'This is not a question'.isQuestion() === false
```

* **words**

This method returns an array of words from the input string.

```javascript
'an array of words'.words() yields ['an', 'array', 'of', 'words']
```

* **wordCount**

This method returns the number of words in the input string.

```javascript
'how many words do I have?'.wordCount() === 6
```

* **toCurrency**

This method returns a currency representation of the input string.

```javascript
'1234567.12'.toCurrency() yields '1,234,567.12'
```

* **fromCurrency**

This method returns a number representation of the currency string.

```javascript
'123,456,789.00'.fromCurrency() yields 123456789
```

## Usage
* Clone the repository to your machine.
* cd into the project.
* Start up a node terminal instance.
* Type in `require('../src/string-class')` to access the module.
* Use the methods as above.


## Running The Tests
* Change directory to the root of the project.
* Run `npm install` to install project dependencies.
* Run `npm test` to run the tests.
{'fraction_non_alphanumeric': 0.14228237015362108, 'fraction_numerical': 0.014630577907827359, 'mean_word_length': 5.104910714285714, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3415999', 'n_tokens_mistral': 887, 'n_tokens_neox': 831, 'n_words': 270}