0.0
No commit activity in last 3 years
No release in over 3 years
The invite engine for the muck system.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

Muck Invites¶ ↑

Make it easy to let users invite other users.

Setup¶ ↑

Add the gem to your Gemfile:

gem 'muck-invites'

Initializer¶ ↑

# Create an initializer to configure settings:

MuckInvites.configure do |config|
  config.use_gravatar_in_photo_list = true            # The invite list can include photos from gravatar.
  config.create_activities_when_invited_joins = true  # Add an entry to the inviter's activity when the invited joins.
  config.email_inviters_when_invited_joins = true     # Send out an email to the inviter when the invited person joins.
end

Javascript and CSS¶ ↑

Be sure to include muck.js:

<%= javascript_include_tag %w{ muck.js } %>

You can include muck-invites.css or copy and paste the styles and change them as desired:

<%= stylesheet_link_tag 'muck-invites' -%>

Include a link to initialize the invite process. You might want to do this in a lightbox.

The simple version that simply asks for an email and password:

<%= link_to 'Invite Your Friends', new_invite_path, :class => 'invite_box' %>

The better method that uses oauth to talk to email services instead of asking for a password:

<%= link_to 'Invite Friends', compose_invites_path, :class => 'invite_box iframe' %>

The ‘invite_box’ class will result in the invite showing up in a popup. Remove that class if you want to customize the link to do something else. By default the popup will use the ‘popup’ layout from muck-engine.

Oauth¶ ↑

The invite system can use oauth where available to acquire contacts. To enable this functionality install the muck-auth gem:

gem 'muck-auth'

See the muck-auth gem for more information - github.com/tatemae/muck-auth

Inviter model¶ ↑

Add ‘include MuckInvites::Models::MuckInviter’ to the class that you wish to have do the inviting. This is commonly the user model, but might also be another model - for example Event.

class User < ActiveRecord::Base
  acts_as_authentic do |c|
    c.crypto_provider = Authlogic::CryptoProviders::BCrypt
  end
  include MuckUsers::Models::MuckUser
  include MuckInvites::Models::MuckInviter
end

or

class Event < ActiveRecord::Base
  include MuckInvites::Models::MuckInviter
end

Other models¶ ↑

These models are required for the invite system to function and must be named as specified. Addition functionality can be added to each model as needed.

Create an Invitee model:

class Invitee < ActiveRecord::Base
  include MuckInvites::Models::MuckInvitee
end

Create an Invite model:

class Invite < ActiveRecord::Base
  include MuckInvites::Models::MuckInvite 
end

Copyright © 2009-2010 Tatemae.com, released under the MIT license