Home

Awesome

mongoose-gravatar

Mongoose plugin to dynamically generate gravatar urls.

Build Status

Installation

  $ npm install mongoose-gravatar

Usage example

Setup

var gravatar = require('mongoose-gravatar');
var UserSchema = new Schema({ email: String });

// Extend User's Schema with gravatar plugin
UserSchema.plugin(gravatar);

// or... provide some default options for plugin
UserSchema.plugin(gravatar, { secure: true, default: "retro", size: 245 });

// or... custom schema property
UserSchema = new Schema({ primaryEmail: String });
UserSchema.plugin(gravatar, { property: 'primaryEmail' });

// ...

Retrieving Gravatar from User Model

var author = new User({ email: 'jorge@ups.com' });

// retrieves a normal gravatar url
author.gravatar()
// out: 'http://www.gravatar.com/avatar/23463b99b62a72f26ed677cc556c44e8'

// retrieves a secure (https) gravatar url
author.gravatar({ secure: true })
// out: 'https://secure.gravatar.com/avatar/23463b99b62a72f26ed677cc556c44e8'

// sets size to 150px width and height
author.gravatar({ size: 150 });
// out: 'http://www.gravatar.com/avatar/23463b99b62a72f26ed677cc556c44e8?s=150'

// With provided options at plugin level...
author.gravatar()
// out: https://secure.gravatar.com/avatar/23463b99b62a72f26ed677cc556c44e8?d=retro&s=245

Plugin specific options

API options list

The following are the list of options allowed for .gravatar() model method.

Test

  $ npm install --dev
  $ make test

License

MIT