|
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :async, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :password, presence: true, length: {minimum: 5, maximum: 120}, on: :create
validates :password, length: {minimum: 5, maximum: 120}, on: :update, allow_blank: true
has_many :posts
mount_uploader :avatar, AvatarUploader
process_in_background :avatar
def full_name
name = self.first_name.to_s + ' ' + self.last_name.to_s
return name
end
after_create do
after_signup_tasks
end
def after_signup_tasks
# Send signup email (worker)
Resque.enqueue(SendSignupMessage, self.id)
# Add user to subscription list
if Subscription.find_by_email(self.email) == nil
Subscription.create(first_name: self.first_name, last_name: self.last_name, email: self.email)
end
# Mixpanel Tracking Analytics
end
end
|