chekote/noun-store

Store and work with Nouns

v3.0.0 2018-10-24 19:10 UTC

README

Packagist Latest Stable Version Packagist Latest Unstable Version Packagist Total Downloads CircleCI Codecov Scrutinizer Code Quality StyleCI

noun-store

Store and work with Nouns.

Usage

  1. Add it to your requirements
composer require chekote/noun-store

Make a store

$store = new \Chekote\NounStore\Store();

Store something

$john = new Person();
$john->firstName = 'John';
$john->lastName = 'Smith';

$store->set('best friend', $john);

Check if we have something

$store->keyExists('best friend');

Assert if we have something

$assert = new \Chekote\NounStore\Assert($store);
$assert->keyExists('best friend');

Retrieve something

$store->get('best friend');

Store something else in the same key

$chris = new Person();
$chris->firstName = 'Chris';
$chris->lastName = 'Pratt';

$store->set('best friend', $chris);

Retrieve the new thing

$store->get('best friend');

or

$store->get('2nd best friend');

or

$store->get('best friend', 1);

Retrieve the old thing

$store->get('1st best friend');

or

$store->get('best friend', 0);

Empty the store

$store->reset();

Development

Installing Development Pre-Requisites

Install Docker.

You will also want to ensure that ./bin is in your $PATH and is the highest priority. You can do so by adding the following to your shell profile:

export PATH=./bin:$PATH

Installing The Project for Development

Clone the repository:

git clone git@github.com:Chekote/noun-store.git
cd noun-store

Executing tests

Tests are written using phpunit. You can execute them via the command line:

phpunit