Skip to content

Commit

Permalink
Change name to blini
Browse files Browse the repository at this point in the history
  • Loading branch information
SamyPesse committed Aug 14, 2016
1 parent c169b77 commit 5a4b93d
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 24 deletions.
File renamed without changes.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<img src="logo.png" width="220" />

`mrgo` (pronounced "Mister Go") is a modern ORM for **MongoDB** based on [immutable](https://facebook.github.io/immutable-js/) data structure and promises.
`blini` is a modern ORM for **MongoDB** based on [immutable](https://facebook.github.io/immutable-js/) data structure and promises.

**Mrgo is currently in alpha.** API may changed, don't use it for production applications.
**Blini is currently in alpha.** API may changed, don't use it for production applications.

## Example

```js
import { Schema, Type, Model, Connection } from 'mrgo'
import { Schema, Type, Model, Connection } from 'blini'
const connection = new Connection('mongodb://localhost/test')

const postSchema = new Schema({
Expand Down Expand Up @@ -40,15 +40,15 @@ post.addView('127.0.0.1').save()

First of all, this library is a Work-In-Progress and Proof-Of-Concept.

Before creating Mrgo, I've used a lot [Mongoose](http://mongoosejs.com) for production applications, Mrgo borrowed a few concepts from it.
Before creating Blini, I've used a lot [Mongoose](http://mongoosejs.com) for production applications, Blini borrowed a few concepts from it.

## Principles

Mrgo tries to solve the question of ["Why?"](#why) with a few principles:
Blini tries to solve the question of ["Why?"](#why) with a few principles:

1. **Immutable data:** By using Immutable.js, the Mrgo is built in a stateless fashion using immutable data structures, which leads to much easier to reason about code, and a much easier time working with data sets.
1. **Immutable data:** By using Immutable.js, the Blini is built in a stateless fashion using immutable data structures, which leads to much easier to reason about code, and a much easier time working with data sets.

2. **Simplicity:** Mrgo tries to reduce the number of concepts and provide a unified API (it doesn't support callback, etc).
2. **Simplicity:** Blini tries to reduce the number of concepts and provide a unified API (it doesn't support callback, etc).

3. **Composition:** Instead of relying on a custom plugins logic to handle extensibility,
it uses ES6 classes inheritances and compositions to extend models behavior.
Expand All @@ -57,7 +57,7 @@ it uses ES6 classes inheritances and compositions to extend models behavior.

## Documentation

If you're using Mrgo for the first time, check out the [Getting Started](docs/getting-started.md) guides and the Core Concepts to familiarize yourself with Mrgo's architecture and mental models. Once you've gotten familiar with those, you'll probably want to check out the full API Reference.
If you're using Blini for the first time, check out the [Getting Started](docs/getting-started.md) guides and the Core Concepts to familiarize yourself with Blini's architecture and mental models. Once you've gotten familiar with those, you'll probably want to check out the full API Reference.

- **Guides**
- [Getting started](docs/getting-started.md)
Expand All @@ -74,4 +74,4 @@ If you're using Mrgo for the first time, check out the [Getting Started](docs/ge

All contributions are super welcome!

Mrgo is [Apache-licensed](LICENSE).
Blini is [Apache-licensed](LICENSE).
2 changes: 1 addition & 1 deletion docs/create-schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Native types like `String`, `Number` and `ObjectID`.

### Iterable

Mrgo doesn't have a type for mixed/object or array, instead it's using immutable data structure:
Blini doesn't have a type for mixed/object or array, instead it's using immutable data structure:
`Type.List`, `Type.Set` and `Type.Map`.

Each of these types take a `Type` as first argument, it will be used to normalize and validate
Expand Down
8 changes: 4 additions & 4 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,25 @@

### Installing

Mrgo is an npm module, so to install it you do:
Blini is an npm module, so to install it you do:

```
$ npm install mrgo --save
$ npm install Blini --save
```

### Importing

Once you've install it, you'll need to import it.

```js
import { Schema, Model, Validation, Type, Connection } from 'mrgo'
import { Schema, Model, Validation, Type, Connection } from 'Blini'
```

### Create a connection to MongoDB

The first step

In addition to loading the module, you need to give Mrgo a connection to work with. Without it, Mrgo can't access the database.
In addition to loading the module, you need to give Blini a connection to work with. Without it, Blini can't access the database.

The connection doesn't require to be initialized, it'll be established as soon as database operations are required.

Expand Down
4 changes: 2 additions & 2 deletions docs/querying.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Querying

Mrgo uses an immutable version of [mquery](https://github.com/aheckmann/mquery) to build MongoDB queries.
Blini uses an immutable version of [mquery](https://github.com/aheckmann/mquery) to build MongoDB queries.

Comparing to Mongoose, Mrgo queries doesn't have a `.then` and promise interface,
Comparing to Mongoose, Blini queries doesn't have a `.then` and promise interface,
you have to explicitly call '.exec()'.

### Execute the query
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/connection.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Connection

```js
import { Connection } from 'mrgo'
import { Connection } from 'Blini'
```

A connection is a low-level interface between <name> and the MongoDB database.
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Index

```js
import { Index } from 'mrgo'
import { Index } from 'Blini'
```

- [Unique index](#unique-index)
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/types.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Types

```js
import { Type } from 'mrgo'
import { Type } from 'Blini'
```

Types are definitions for schema fields. It defines how data should be serialized to MongoDB
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/validations.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Validations

```js
import { Validation } from 'mrgo'
import { Validation } from 'Blini'
```

A Validation allows you to define a transformation or rejection that will be applied to data before flushing to the database.
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "mrgo",
"name": "blini",
"version": "0.0.0",
"description": "Modern MongoDB ORM backed by immutable models",
"main": "./lib/index.js",
Expand All @@ -12,17 +12,17 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/SamyPesse/mrgo.git"
"url": "git+https://github.com/SamyPesse/blini.git"
},
"keywords": [
"mongo"
],
"author": "Samy Pesse <samypesse@gmail.com>",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/SamyPesse/mrgo/issues"
"url": "https://github.com/SamyPesse/blini/issues"
},
"homepage": "https://github.com/SamyPesse/mrgo#readme",
"homepage": "https://github.com/SamyPesse/blini#readme",
"dependencies": {
"immutable": "^3.8.1",
"is": "^3.1.0",
Expand Down

0 comments on commit 5a4b93d

Please sign in to comment.