engine/app/models/membership.rb

36 lines
712 B
Ruby

class Membership
include Mongoid::Document
include Mongoid::Timestamps
## fields ##
field :admin, :type => Boolean, :default => false
## associations ##
belongs_to_related :account
embedded_in :site, :inverse_of => :memberships
## validations ##
validates_presence_of :account
## methods ##
def email; @email; end
def email=(email)
@email = email
self.account = Account.where(:email => email).first
end
def action_to_take
if @email.blank?
:error
elsif self.account.nil?
:create_account
elsif self.site.memberships.find_all { |m| m.account_id == self.account_id }.size > 1
:nothing
else
:save_it
end
end
end